osaf/services/saf/amf/amfnd/util.cc | 546 ------------------------------------ 1 files changed, 0 insertions(+), 546 deletions(-)
diff --git a/osaf/services/saf/amf/amfnd/util.cc b/osaf/services/saf/amf/amfnd/util.cc --- a/osaf/services/saf/amf/amfnd/util.cc +++ b/osaf/services/saf/amf/amfnd/util.cc @@ -249,552 +249,6 @@ const char *avnd_failed_state_file_locat return failed_state_file_name; } -/***************************************************************************** - * Function: free_d2n_su_msg_info - * - * Purpose: This function frees the d2n SU message contents. - * - * Input: su_msg - Pointer to the SU message contents to be freed. - * - * Returns: None - * - * NOTES: none. - * - * - **************************************************************************/ - -static void free_d2n_su_msg_info(AVSV_DND_MSG *su_msg) -{ - AVSV_SU_INFO_MSG *su_info; - - while (su_msg->msg_info.d2n_reg_su.su_list != nullptr) { - su_info = su_msg->msg_info.d2n_reg_su.su_list; - su_msg->msg_info.d2n_reg_su.su_list = su_info->next; - delete su_info; - } -} - - -/***************************************************************************** - * Function: free_d2n_susi_msg_info - * - * Purpose: This function frees the d2n SU SI message contents. - * - * Input: susi_msg - Pointer to the SUSI message contents to be freed. - * - * Returns: none - * - * NOTES: It also frees the array of attributes, which are sperately - * allocated and pointed to by AVSV_SUSI_ASGN structure. - * - * - **************************************************************************/ - -static void free_d2n_susi_msg_info(AVSV_DND_MSG *susi_msg) -{ - AVSV_SUSI_ASGN *compcsi_info; - - while (susi_msg->msg_info.d2n_su_si_assign.list != nullptr) { - compcsi_info = susi_msg->msg_info.d2n_su_si_assign.list; - susi_msg->msg_info.d2n_su_si_assign.list = compcsi_info->next; - if (compcsi_info->attrs.list != nullptr) { - // AVSV_ATTR_NAME_VAL variables - // are malloc'ed, use free() - free(compcsi_info->attrs.list); - compcsi_info->attrs.list = nullptr; - } - delete compcsi_info; - } -} - -/***************************************************************************** - * Function: free_d2n_pg_msg_info - * - * Purpose: This function frees the d2n PG track response message contents. - * - * Input: pg_msg - Pointer to the PG message contents to be freed. - * - * Returns: None - * - * NOTES: None - * - * - **************************************************************************/ - -static void free_d2n_pg_msg_info(AVSV_DND_MSG *pg_msg) -{ - AVSV_D2N_PG_TRACK_ACT_RSP_MSG_INFO *info = &pg_msg->msg_info.d2n_pg_track_act_rsp; - - if (info->mem_list.numberOfItems > 0) - delete [] info->mem_list.notification; - - info->mem_list.notification = 0; - info->mem_list.numberOfItems = 0; -} - -/**************************************************************************** - Name : dnd_msg_free - - Description : This routine frees the Message structures used for - communication between AvD and AvND. - - Arguments : msg - ptr to the DND message that needs to be freed. - - Return Values : None - - Notes : For : AVSV_D2N_REG_SU_MSG, AVSV_D2N_INFO_SU_SI_ASSIGN_MSG - and AVSV_D2N_PG_TRACK_ACT_RSP_MSG, this procedure calls the - corresponding information free function to free the - list information in them before freeing the message. -******************************************************************************/ -void dnd_msg_free(AVSV_DND_MSG *msg) -{ - if (msg == nullptr) - return; - - /* these messages have information list in them free them - * first by calling the corresponding free routine. - */ - switch (msg->msg_type) { - case AVSV_D2N_REG_SU_MSG: - free_d2n_su_msg_info(msg); - break; - case AVSV_D2N_INFO_SU_SI_ASSIGN_MSG: - free_d2n_susi_msg_info(msg); - break; - case AVSV_D2N_PG_TRACK_ACT_RSP_MSG: - free_d2n_pg_msg_info(msg); - break; - case AVSV_N2D_ND_SISU_STATE_INFO_MSG: - free_n2d_nd_sisu_state_info(msg); - break; - case AVSV_N2D_ND_CSICOMP_STATE_INFO_MSG: - free_n2d_nd_csicomp_state_info(msg); - break; - default: - break; - } - - /* free the message */ - delete msg; -} - -/**************************************************************************** - Name : nda_ava_msg_free - - Description : This routine frees the AvA message. - - Arguments : msg - ptr to the AvA msg - - Return Values : None - - Notes : None. -******************************************************************************/ -void nda_ava_msg_free(AVSV_NDA_AVA_MSG *msg) -{ - if (!msg) - return; - - /* free the message content */ - nda_ava_msg_content_free(msg); - - /* free the message */ - delete msg; - - return; -} - -/**************************************************************************** - Name : nda_ava_msg_content_free - - Description : This routine frees the content of the AvA message. - - Arguments : msg - ptr to the AvA msg - - Return Values : None. - - Notes : This routine is used by AvA as it does not alloc nda - message while decoding from mds. -******************************************************************************/ -void nda_ava_msg_content_free(AVSV_NDA_AVA_MSG *msg) -{ - if (!msg) - return; - - switch (msg->type) { - case AVSV_AVA_API_MSG: - case AVSV_AVND_AMF_API_RESP_MSG: - break; - - case AVSV_AVND_AMF_CBK_MSG: - if (msg->info.cbk_info) { - amf_cbk_free(msg->info.cbk_info); - msg->info.cbk_info = 0; - } - break; - - default: - break; - } - - return; -} - -/**************************************************************************** - Name : amf_csi_attr_list_copy - - Description : This routine copies the csi attribute list. - - Arguments : dattr - ptr to the destination csi-attr list - sattr - ptr to the src csi-attr list - - Return Values : NCSCC_RC_SUCCESS / NCSCC_RC_FAILURE - - Notes : None. -******************************************************************************/ -void amf_csi_attr_list_copy(SaAmfCSIAttributeListT *dattr, - const SaAmfCSIAttributeListT *sattr) -{ - uint32_t cnt; - - if (dattr == nullptr || sattr == nullptr) - goto done; - - dattr->attr = new SaAmfCSIAttributeT[sattr->number]; - - for (cnt = 0; cnt < sattr->number; cnt++) { - /* alloc memory for attr name & value */ - size_t attrNameSize = strlen((char*)sattr->attr[cnt].attrName) + 1; - dattr->attr[cnt].attrName = new SaUint8T[attrNameSize]; - - size_t attrValueSize = strlen((char*)sattr->attr[cnt].attrValue) + 1; - dattr->attr[cnt].attrValue = new SaUint8T[attrNameSize]; - - /* copy the attr name & value */ - strncpy((char*)dattr->attr[cnt].attrName, - (char*)sattr->attr[cnt].attrName, attrNameSize); - strncpy((char*)dattr->attr[cnt].attrValue, - (char*)sattr->attr[cnt].attrValue, attrValueSize); - - /* increment the attr name-val pair cnt that is copied */ - dattr->number++; - } - -done: - return; -} - -/**************************************************************************** - Name : amf_csi_attr_list_free - - Description : This routine frees the csi attribute list. - - Arguments : attr - ptr to the csi-attr list - - Return Values : None. - - Notes : None. -******************************************************************************/ -void amf_csi_attr_list_free(SaAmfCSIAttributeListT *attrs) -{ - uint32_t cnt; - - if (attrs == nullptr) - return; - - /* free the attr name-val pair */ - for (cnt = 0; cnt < attrs->number; cnt++) { - delete [] attrs->attr[cnt].attrName; - delete [] attrs->attr[cnt].attrValue; - } /* for */ - - /* finally free the attr list ptr */ - delete [] attrs->attr; - - return; -} - -/**************************************************************************** - Name : amf_cbk_copy - - Description : This routine copies the AMF callback info message. - - Arguments : o_dcbk - double ptr to the dest cbk-info (o/p) - scbk - ptr to the source cbk-info - - Return Values : NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE. - - Notes : None -******************************************************************************/ -uint32_t amf_cbk_copy(AVSV_AMF_CBK_INFO **o_dcbk, const AVSV_AMF_CBK_INFO *scbk) -{ - uint32_t rc = NCSCC_RC_SUCCESS; - - if (o_dcbk == nullptr || scbk == nullptr) - return NCSCC_RC_FAILURE; - - /* allocate the dest cbk-info */ - *o_dcbk = new AVSV_AMF_CBK_INFO(); - - /* copy the common fields */ - memcpy(*o_dcbk, scbk, sizeof(AVSV_AMF_CBK_INFO)); - - switch (scbk->type) { - case AVSV_AMF_HC: - case AVSV_AMF_COMP_TERM: - case AVSV_AMF_CSI_REM: - case AVSV_AMF_PXIED_COMP_INST: - case AVSV_AMF_PXIED_COMP_CLEAN: - break; - - case AVSV_AMF_PG_TRACK: - /* memset notify buffer */ - memset(&(*o_dcbk)->param.pg_track.buf, 0, sizeof(SaAmfProtectionGroupNotificationBufferT)); - - /* copy the notify buffer, if any */ - if (scbk->param.pg_track.buf.numberOfItems > 0) { - (*o_dcbk)->param.pg_track.buf.notification = - new SaAmfProtectionGroupNotificationT[scbk->param.pg_track.buf.numberOfItems]; - - for (SaUint32T i = 0; i < scbk->param.pg_track.buf.numberOfItems; ++i) { - (*o_dcbk)->param.pg_track.buf.notification[i] = - scbk->param.pg_track.buf.notification[i]; - } - (*o_dcbk)->param.pg_track.buf.numberOfItems = scbk->param.pg_track.buf.numberOfItems; - } - break; - - case AVSV_AMF_CSI_SET: - /* memset avsv & amf csi attr lists */ - memset(&(*o_dcbk)->param.csi_set.attrs, 0, sizeof(AVSV_CSI_ATTRS)); - memset(&(*o_dcbk)->param.csi_set.csi_desc.csiAttr, 0, sizeof(SaAmfCSIAttributeListT)); - - /* copy the avsv csi attr list */ - if (scbk->param.csi_set.attrs.number > 0) { - (*o_dcbk)->param.csi_set.attrs.list = static_cast<AVSV_ATTR_NAME_VAL*> - (calloc(scbk->param.csi_set.attrs.number, sizeof(AVSV_ATTR_NAME_VAL))); - osafassert((*o_dcbk)->param.csi_set.attrs.list != nullptr); - - for (uint32_t i = 0; i < scbk->param.csi_set.attrs.number; ++i) { - (*o_dcbk)->param.csi_set.attrs.list[i] = - scbk->param.csi_set.attrs.list[i]; - } - (*o_dcbk)->param.csi_set.attrs.number = scbk->param.csi_set.attrs.number; - } - - /* copy the amf csi attr list */ - if (scbk->param.csi_set.csi_desc.csiAttr.number > 0) { - amf_csi_attr_list_copy(&(*o_dcbk)->param.csi_set.csi_desc.csiAttr, - &scbk->param.csi_set.csi_desc.csiAttr); - } - break; - - default: - osafassert(0); - } - - return rc; -} - -/**************************************************************************** - Name : amf_cbk_free - - Description : This routine frees callback information. - - Arguments : cbk_info - ptr to the callback info - - Return Values : None. - - Notes : None. -******************************************************************************/ -void amf_cbk_free(AVSV_AMF_CBK_INFO *cbk_info) -{ - if (cbk_info == nullptr) - return; - - switch (cbk_info->type) { - case AVSV_AMF_HC: - case AVSV_AMF_COMP_TERM: - case AVSV_AMF_CSI_REM: - case AVSV_AMF_PXIED_COMP_INST: - case AVSV_AMF_PXIED_COMP_CLEAN: - break; - - case AVSV_AMF_PG_TRACK: - /* free the notify buffer */ - if (cbk_info->param.pg_track.buf.numberOfItems > 0) - delete [] cbk_info->param.pg_track.buf.notification; - break; - - case AVSV_AMF_CSI_SET: - /* free the avsv csi attr list */ - if (cbk_info->param.csi_set.attrs.number > 0) { - // AVSV_ATTR_NAME_VAL variables - // are malloc'ed, use free() - free(cbk_info->param.csi_set.attrs.list); - } - - /* free the amf csi attr list */ - amf_csi_attr_list_free(&cbk_info->param.csi_set.csi_desc.csiAttr); - break; - - default: - break; - } - - /* free the cbk-info ptr */ - delete cbk_info; - cbk_info = nullptr; - - return; -} - -/**************************************************************************** - Name : nd2nd_avnd_msg_free - - Description : This routine frees the AvND message. - - Arguments : msg - ptr to the AvA msg - - Return Values : None - - Notes : None. -******************************************************************************/ -void nd2nd_avnd_msg_free(AVSV_ND2ND_AVND_MSG *msg) -{ - if (!msg) - return; - - if (AVND_AVND_AVA_MSG == msg->type) { - /* free the message content after all these are AvA content. */ - nda_ava_msg_free(msg->info.msg); - } - /* free the message */ - delete msg; - - return; -} - -/**************************************************************************** - Name : free_n2d_nd_csicomp_state_info - - Description : This routine frees csicomp_state message. - - Arguments : msg - ptr to the msg - - Return Values : None - - Notes : None. -******************************************************************************/ -void free_n2d_nd_csicomp_state_info(AVSV_DND_MSG *msg) -{ - TRACE_ENTER(); - - AVSV_N2D_ND_CSICOMP_STATE_MSG_INFO *info = nullptr; - AVSV_CSICOMP_STATE_MSG *ptr = nullptr; - AVSV_CSICOMP_STATE_MSG *next_ptr = nullptr; - - AVSV_COMP_STATE_MSG *comp_ptr = nullptr; - AVSV_COMP_STATE_MSG *comp_next_ptr = nullptr; - - if (msg == nullptr) - goto done; - - osafassert(msg->msg_type == AVSV_N2D_ND_CSICOMP_STATE_INFO_MSG); - - info = &msg->msg_info.n2d_nd_csicomp_state_info; - osafassert(info); - - ptr = info->csicomp_list; - - TRACE("%u csicomp records to free", info->num_csicomp); - - while (ptr != nullptr) { - TRACE("freeing %s:%s", osaf_extended_name_borrow(&ptr->safCSI), osaf_extended_name_borrow(&ptr->safComp)); - next_ptr = ptr->next; - delete ptr; - ptr = next_ptr; - } - - comp_ptr = info->comp_list; - - TRACE("%u comp records to free", info->num_comp); - - while (comp_ptr != nullptr) { - comp_next_ptr = comp_ptr->next; - delete comp_ptr; - comp_ptr = comp_next_ptr; - } - - info->num_csicomp = 0; - info->csicomp_list = nullptr; - info->num_comp = 0; - info->comp_list = nullptr; - -done: - TRACE_LEAVE(); -} - -/**************************************************************************** - Name : free_n2d_nd_sisu_state_info - - Description : This routine frees sisu_state message. - - Arguments : msg - ptr to the msg - - Return Values : None - - Notes : None. -******************************************************************************/ -void free_n2d_nd_sisu_state_info(AVSV_DND_MSG *msg) -{ - TRACE_ENTER(); - - AVSV_N2D_ND_SISU_STATE_MSG_INFO *info = &msg->msg_info.n2d_nd_sisu_state_info; - AVSV_SISU_STATE_MSG *ptr = info->sisu_list; - AVSV_SISU_STATE_MSG *next_ptr = nullptr; - AVSV_SU_STATE_MSG *su_ptr = info->su_list; - AVSV_SU_STATE_MSG *su_next_ptr = nullptr; - - if (msg == nullptr) - goto done; - - osafassert(msg->msg_type == AVSV_N2D_ND_SISU_STATE_INFO_MSG); - - info = &msg->msg_info.n2d_nd_sisu_state_info; - osafassert(info); - - ptr = info->sisu_list; - - TRACE("%u sisu records to free", info->num_sisu); - - while (ptr != nullptr) { - TRACE("freeing %s:%s", osaf_extended_name_borrow(&ptr->safSI), osaf_extended_name_borrow(&ptr->safSU)); - next_ptr = ptr->next; - delete ptr; - ptr = next_ptr; - } - - su_ptr = info->su_list; - - TRACE("%u su records to free", info->num_su); - - while (su_ptr != nullptr) { - su_next_ptr = su_ptr->next; - delete su_ptr; - su_ptr = su_next_ptr; - } - - - info->num_sisu = 0; - info->sisu_list = nullptr; - info->num_su = 0; - info->su_list = nullptr; - -done: - TRACE_LEAVE(); -} - /**************************************************************************** Name : saImmOmInitialize_cond ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel