-
Steven Murray authored
function in order to allow developers to call the function without the need to specify the size of the params array: template<int n> void dlf_writep (Cuuid_t uuid, int severity, int message_no, castor::dlf::Param (¶ms)[n], struct Cns_fileid *ns_invariant = 0) throw() { dlf_writep(uuid, severity, message_no, n, params, 0); } The template causes the size of the array to be determied at compile time. A pointer to castor::dlf::Param will of course not work. The original castor::dlf::dlf_writep function can be used as usual in this case. The following code snippet shows an example of using the new template: castor::dlf::Param params[] = { castor::dlf::Param("volReqId", vdqmJobRequest.tapeRequestId), castor::dlf::Param("vid" , request.vid ), castor::dlf::Param("vsn" , request.vsn ), castor::dlf::Param("label" , request.label ), castor::dlf::Param("devtype" , request.devtype ), castor::dlf::Param("density" , request.density )}; castor::dlf::dlf_writep(cuuid, DLF_LVL_SYSTEM, AGGREGATOR_GAVE_VOLUME_INFO, params);
624b0397