ack, code review only/Regards HansN
On 06/04/14 12:20, praveen.malv...@oracle.com wrote:
>   osaf/services/saf/amf/amfd/ckpt_dec.cc    |  12 +++---
>   osaf/services/saf/amf/amfd/ckpt_enc.cc    |   9 +---
>   osaf/services/saf/amf/amfd/ckpt_updt.cc   |  12 +++---
>   osaf/services/saf/amf/amfd/comp.cc        |  48 
> +++++++-----------------------
>   osaf/services/saf/amf/amfd/compcstype.cc  |   8 ++--
>   osaf/services/saf/amf/amfd/hlt.cc         |   4 +-
>   osaf/services/saf/amf/amfd/imm.cc         |   8 +---
>   osaf/services/saf/amf/amfd/include/comp.h |   5 +-
>   osaf/services/saf/amf/amfd/ndproc.cc      |   4 +-
>   osaf/services/saf/amf/amfd/sgproc.cc      |   8 ++--
>   osaf/services/saf/amf/amfd/util.cc        |   7 +--
>   11 files changed, 47 insertions(+), 78 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/ckpt_dec.cc 
> b/osaf/services/saf/amf/amfd/ckpt_dec.cc
> --- a/osaf/services/saf/amf/amfd/ckpt_dec.cc
> +++ b/osaf/services/saf/amf/amfd/ckpt_dec.cc
> @@ -1966,7 +1966,7 @@ static uint32_t dec_comp_proxy_comp_name
>       if (status != NCSCC_RC_SUCCESS)
>               osafassert(0);
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name)))
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name))))
>               osafassert(0);
>   
>       /* Update the fields received in this checkpoint message */
> @@ -2013,7 +2013,7 @@ static uint32_t dec_comp_curr_num_csi_ac
>       if (status != NCSCC_RC_SUCCESS)
>               osafassert(0);
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name))) {
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name)))) {
>               LOG_ER("%s: comp not found, %s", __FUNCTION__, 
> comp_ptr->comp_info.name.value);
>               return NCSCC_RC_FAILURE;
>       }
> @@ -2064,7 +2064,7 @@ static uint32_t dec_comp_curr_num_csi_st
>               return status;
>       }
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name))) {
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name)))) {
>               LOG_ER("%s: comp not found, %s", __FUNCTION__, 
> comp_ptr->comp_info.name.value);
>               return NCSCC_RC_FAILURE;
>       }
> @@ -2163,7 +2163,7 @@ static uint32_t dec_comp_readiness_state
>               return status;
>       }
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name))) {
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name)))) {
>               LOG_ER("%s: comp not found, %s", __FUNCTION__, 
> comp_ptr->comp_info.name.value);
>               return NCSCC_RC_FAILURE;
>       }
> @@ -2214,7 +2214,7 @@ static uint32_t dec_comp_pres_state(AVD_
>               return status;
>       }
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name))) {
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name)))) {
>               LOG_ER("%s: comp not found, %s", __FUNCTION__, 
> comp_ptr->comp_info.name.value);
>               return NCSCC_RC_FAILURE;
>       }
> @@ -2265,7 +2265,7 @@ static uint32_t dec_comp_restart_count(A
>               return status;
>       }
>   
> -     if (NULL == (comp_struct = avd_comp_get(&comp_ptr->comp_info.name))) {
> +     if (NULL == (comp_struct = 
> comp_db->find(Amf::to_string(&comp_ptr->comp_info.name)))) {
>               LOG_ER("%s: comp not found, %s", __FUNCTION__, 
> comp_ptr->comp_info.name.value);
>               return NCSCC_RC_FAILURE;
>       }
> diff --git a/osaf/services/saf/amf/amfd/ckpt_enc.cc 
> b/osaf/services/saf/amf/amfd/ckpt_enc.cc
> --- a/osaf/services/saf/amf/amfd/ckpt_enc.cc
> +++ b/osaf/services/saf/amf/amfd/ckpt_enc.cc
> @@ -2446,17 +2446,15 @@ static uint32_t enc_cs_siass(AVD_CL_CB *
>   static uint32_t enc_cs_comp_config(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc, 
> uint32_t *num_of_obj)
>   {
>       uint32_t status = NCSCC_RC_SUCCESS;
> -     AVD_COMP *comp;
> -     SaNameT comp_name = {0};
>       EDU_ERR ederror = static_cast<EDU_ERR>(0);
>       TRACE_ENTER();
>   
>       /*
>        * Walk through the entire list and send the entire list data.
>        */
> -     comp_name.length = 0;
> -     for (comp = avd_comp_getnext(&comp_name); comp != NULL;
> -          comp = avd_comp_getnext(&comp_name)) {
> +     for (std::map<std::string, AVD_COMP*>::const_iterator it = 
> comp_db->begin();
> +                     it != comp_db->end(); it++) {
> +             AVD_COMP *comp  = it->second;
>               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, 
> avsv_edp_ckpt_msg_comp, &enc->io_uba,
>                                           EDP_OP_TYPE_ENC, comp, &ederror, 
> enc->i_peer_version);
>   
> @@ -2465,7 +2463,6 @@ static uint32_t enc_cs_comp_config(AVD_C
>                       return NCSCC_RC_FAILURE;
>               }
>   
> -             comp_name = comp->comp_info.name;
>               (*num_of_obj)++;
>       }
>   
> diff --git a/osaf/services/saf/amf/amfd/ckpt_updt.cc 
> b/osaf/services/saf/amf/amfd/ckpt_updt.cc
> --- a/osaf/services/saf/amf/amfd/ckpt_updt.cc
> +++ b/osaf/services/saf/amf/amfd/ckpt_updt.cc
> @@ -439,8 +439,8 @@ uint32_t avd_ckpt_siass(AVD_CL_CB *cb, A
>                               su_si_rel_ptr->comp_name = 
> su_si_ckpt->comp_name;
>                               su_si_rel_ptr->csi_name = su_si_ckpt->csi_name;
>                               TRACE("compcsi create for '%s' '%s'", 
> su_si_rel_ptr->comp_name.value, su_si_rel_ptr->csi_name.value);
> -                             if ((comp_ptr = 
> avd_comp_get(&(su_si_rel_ptr->comp_name))) == NULL) {
> -                                     LOG_ER("avd_comp_get FAILED for '%s'", 
> su_si_rel_ptr->comp_name.value);
> +                             if ((comp_ptr = 
> comp_db->find(Amf::to_string(&(su_si_rel_ptr->comp_name)))) == NULL) {
> +                                     LOG_ER("comp_db->find() FAILED for 
> '%s'", su_si_rel_ptr->comp_name.value);
>                                       return NCSCC_RC_FAILURE;
>                               }
>                               if ((csi_ptr = 
> csi_db->find(Amf::to_string(&(su_si_rel_ptr->csi_name)))) == NULL) {
> @@ -469,8 +469,8 @@ uint32_t avd_ckpt_siass(AVD_CL_CB *cb, A
>               if (NULL != su_si_rel_ptr) {
>                       if(su_si_ckpt->csi_add_rem) {
>                               TRACE("compcsi remove for '%s' '%s'", 
> su_si_ckpt->comp_name.value, su_si_ckpt->csi_name.value);
> -                             if ((comp_ptr = 
> avd_comp_get(&(su_si_ckpt->comp_name))) == NULL) {
> -                                     LOG_ER("avd_comp_get FAILED for 
> '%s'",su_si_ckpt->comp_name.value);
> +                             if ((comp_ptr = 
> comp_db->find(Amf::to_string(&(su_si_ckpt->comp_name)))) == NULL) {
> +                                     LOG_ER("comp_db->find() FAILED for 
> '%s'",su_si_ckpt->comp_name.value);
>                                       return NCSCC_RC_FAILURE;
>                               }
>   
> @@ -543,8 +543,8 @@ uint32_t avd_ckpt_comp(AVD_CL_CB *cb, AV
>   
>       osafassert (action == NCS_MBCSV_ACT_UPDATE);
>   
> -     if (NULL == (comp = avd_comp_get(dn))) {
> -             LOG_ER("avd_comp_get FAILED for '%s'", dn->value);
> +     if (NULL == (comp = comp_db->find(Amf::to_string(dn)))) {
> +             LOG_ER("comp_db->find() FAILED for '%s'", dn->value);
>               goto done;
>       }
>       comp->saAmfCompOperState = ckpt_comp->saAmfCompOperState;
> diff --git a/osaf/services/saf/amf/amfd/comp.cc 
> b/osaf/services/saf/amf/amfd/comp.cc
> --- a/osaf/services/saf/amf/amfd/comp.cc
> +++ b/osaf/services/saf/amf/amfd/comp.cc
> @@ -40,14 +40,14 @@
>   #include <proc.h>
>   #include <ckpt_msg.h>
>   
> -static NCS_PATRICIA_TREE comp_db;
> +AmfDb<std::string, AVD_COMP> *comp_db = NULL;
>   
>   void avd_comp_db_add(AVD_COMP *comp)
>   {
>       unsigned int rc;
>   
> -     if (avd_comp_get(&comp->comp_info.name) == NULL) {
> -             rc = ncs_patricia_tree_add(&comp_db, &comp->tree_node);
> +     if (comp_db->find(Amf::to_string(&comp->comp_info.name)) == NULL) {
> +             rc = comp_db->insert(Amf::to_string(&comp->comp_info.name), 
> comp);
>               osafassert(rc == NCSCC_RC_SUCCESS);
>       }
>   }
> @@ -60,7 +60,6 @@ AVD_COMP *avd_comp_new(const SaNameT *dn
>       
>       memcpy(comp->comp_info.name.value, dn->value, dn->length);
>       comp->comp_info.name.length = dn->length;
> -     comp->tree_node.key_info = (uint8_t *)&(comp->comp_info.name);
>       comp->comp_info.cap = SA_AMF_COMP_ONE_ACTIVE_OR_ONE_STANDBY;
>       comp->comp_info.category = AVSV_COMP_TYPE_NON_SAF;
>       comp->comp_info.def_recvr = SA_AMF_COMPONENT_RESTART;
> @@ -166,33 +165,13 @@ void avd_comp_proxy_status_change(AVD_CO
>   
>   }
>   
> -AVD_COMP *avd_comp_get(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_COMP *)ncs_patricia_tree_get(&comp_db, (uint8_t *)&tmp);
> -}
> -
> -AVD_COMP *avd_comp_getnext(const SaNameT *dn)
> -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_COMP *)ncs_patricia_tree_getnext(&comp_db, (uint8_t *)&tmp);
> -}
> -
>   void avd_comp_delete(AVD_COMP *comp)
>   {
>       AVD_SU *su = comp->su;
>       m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, comp, 
> AVSV_CKPT_AVD_COMP_CONFIG);
>       su->remove_comp(comp);
>       avd_comptype_remove_comp(comp);
> -     (void)ncs_patricia_tree_del(&comp_db, &comp->tree_node);
> +     comp_db->erase(Amf::to_string(&comp->comp_info.name));
>       delete comp;
>   }
>   
> @@ -474,7 +453,7 @@ static AVD_COMP *comp_create(const SaNam
>       ** If called at new active at failover, the object is found in the DB
>       ** but needs to get configuration attributes initialized.
>       */
> -     if (NULL == (comp = avd_comp_get(dn))) {
> +     if (NULL == (comp = comp_db->find(Amf::to_string(dn)))) {
>               if ((comp = avd_comp_new(dn)) == NULL)
>                       goto done;
>       }
> @@ -749,7 +728,7 @@ static void comp_admin_op_cb(SaImmOiHand
>   {
>           TRACE_ENTER2("%llu, '%s', %llu", invocation, objectName->value, 
> opId);
>   
> -     AVD_COMP *comp = avd_comp_get(objectName);
> +     AVD_COMP *comp = comp_db->find(Amf::to_string(objectName));
>       osafassert(comp != NULL);
>   
>       switch (opId) {
> @@ -803,7 +782,7 @@ static void comp_admin_op_cb(SaImmOiHand
>   static SaAisErrorT comp_rt_attr_cb(SaImmOiHandleT immOiHandle,
>       const SaNameT *objectName, const SaImmAttrNameT *attributeNames)
>   {
> -     AVD_COMP *comp = avd_comp_get(objectName);
> +     AVD_COMP *comp = comp_db->find(Amf::to_string(objectName));
>       SaImmAttrNameT attributeName;
>       int i = 0;
>   
> @@ -837,7 +816,7 @@ static SaAisErrorT ccb_completed_modify_
>   
>       TRACE_ENTER();
>   
> -     comp = avd_comp_get(&opdata->objectName);
> +     comp = comp_db->find(Amf::to_string(&opdata->objectName));
>   
>       while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
>               const SaImmAttrValuesT_2 *attribute = &attr_mod->modAttr;
> @@ -1113,7 +1092,7 @@ static void comp_ccb_apply_modify_hdlr(s
>       param.class_id = AVSV_SA_AMF_COMP;
>       param.act = AVSV_OBJ_OPR_MOD;
>   
> -     comp = avd_comp_get(&opdata->objectName);
> +     comp = comp_db->find(Amf::to_string(&opdata->objectName));
>       param.name = comp->comp_info.name;
>       comp_type = comptype_db->find(Amf::to_string(&comp->saAmfCompType));
>   
> @@ -1495,7 +1474,7 @@ static void comp_ccb_apply_delete_hdlr(s
>   {
>       TRACE_ENTER();
>   
> -     AVD_COMP *comp = avd_comp_get(&opdata->objectName);
> +     AVD_COMP *comp = comp_db->find(Amf::to_string(&opdata->objectName));
>       /* comp should be found in the database even if it was
>        * due to parent su delete the changes are applied in
>        * bottom up order so all the component deletes are applied
> @@ -1557,7 +1536,7 @@ static void comp_ccb_apply_cb(CcbUtilOpe
>    */
>   AVD_COMP *avd_comp_get_or_create(const SaNameT *dn)
>   {
> -     AVD_COMP *comp = avd_comp_get(dn);
> +     AVD_COMP *comp = comp_db->find(Amf::to_string(dn));
>   
>       if (!comp) {
>               TRACE("'%s' does not exist, creating it", dn->value);
> @@ -1571,11 +1550,8 @@ AVD_COMP *avd_comp_get_or_create(const S
>   
>   void avd_comp_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
>   
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&comp_db, &patricia_params) == 
> NCSCC_RC_SUCCESS);
> -
> +     comp_db = new AmfDb<std::string, AVD_COMP>;
>       avd_class_impl_set("SaAmfComp", comp_rt_attr_cb, comp_admin_op_cb,
>               comp_ccb_completed_cb, comp_ccb_apply_cb);
>   }
> diff --git a/osaf/services/saf/amf/amfd/compcstype.cc 
> b/osaf/services/saf/amf/amfd/compcstype.cc
> --- a/osaf/services/saf/amf/amfd/compcstype.cc
> +++ b/osaf/services/saf/amf/amfd/compcstype.cc
> @@ -71,7 +71,7 @@ static void compcstype_add_to_model(AVD_
>               SaNameT dn;
>               avd_compcstype_db_add(cst);
>               avsv_sanamet_init(&cst->name, &dn, "safComp=");
> -             cst->comp = avd_comp_get(&dn);
> +             cst->comp = comp_db->find(Amf::to_string(&dn));
>       }
>   }
>   
> @@ -147,7 +147,7 @@ static int is_config_valid(const SaNameT
>       */
>   
>       avsv_sanamet_init(dn, &comp_name, "safComp=");
> -     comp = avd_comp_get(&comp_name);
> +     comp = comp_db->find(Amf::to_string(&comp_name));
>   
>       if (comp != NULL)
>               comptype_name = &comp->saAmfCompType;
> @@ -219,7 +219,7 @@ static AVD_COMPCS_TYPE *compcstype_creat
>               goto done;
>   
>       avsv_sanamet_init(dn, &comp_name, "safComp=");
> -     comp = avd_comp_get(&comp_name);
> +     comp = comp_db->find(Amf::to_string(&comp_name));
>   
>       p = strchr(cstype_name, ',') + 1;
>       p = strchr(p, ',');
> @@ -344,7 +344,7 @@ static SaAisErrorT compcstype_ccb_comple
>               cst = compcstype_db->find(Amf::to_string(&opdata->objectName));
>               osafassert(cst);
>               avsv_sanamet_init(&opdata->objectName, &comp_name, "safComp=");
> -             comp = avd_comp_get(&comp_name);
> +             comp = comp_db->find(Amf::to_string(&comp_name));
>               for (curr_susi = comp->su->list_of_susi; curr_susi != NULL; 
> curr_susi = curr_susi->su_next)
>                       for (compcsi = curr_susi->list_of_csicomp; compcsi; 
> compcsi = compcsi->susi_csicomp_next) {
>                               if (compcsi->comp == comp) {
> diff --git a/osaf/services/saf/amf/amfd/hlt.cc 
> b/osaf/services/saf/amf/amfd/hlt.cc
> --- a/osaf/services/saf/amf/amfd/hlt.cc
> +++ b/osaf/services/saf/amf/amfd/hlt.cc
> @@ -70,7 +70,7 @@ static SaAisErrorT ccb_completed_delete_
>       TRACE_ENTER();
>       avsv_sanamet_init(&opdata->objectName, &comp_name, "safComp=");
>   
> -     comp = avd_comp_get(&comp_name);
> +     comp = comp_db->find(Amf::to_string(&comp_name));
>       for (curr_susi = comp->su->list_of_susi; curr_susi != NULL; curr_susi = 
> curr_susi->su_next)
>               for (compcsi = curr_susi->list_of_csicomp; compcsi; compcsi = 
> compcsi->susi_csicomp_next) {
>                       if (compcsi->comp == comp) {
> @@ -125,7 +125,7 @@ static void ccb_apply_modify_hdlr(CcbUti
>       comp_name = strstr((char *)opdata->objectName.value, "safComp");
>       osafassert(comp_name);
>       comp_dn.length = sprintf((char *)comp_dn.value, "%s", comp_name);
> -     comp = avd_comp_get(&comp_dn);
> +     comp = comp_db->find(Amf::to_string(&comp_dn));
>       osafassert(comp);
>   
>       while ((attr_mod = opdata->param.modify.attrMods[i++]) != NULL) {
> diff --git a/osaf/services/saf/amf/amfd/imm.cc 
> b/osaf/services/saf/amf/amfd/imm.cc
> --- a/osaf/services/saf/amf/amfd/imm.cc
> +++ b/osaf/services/saf/amf/amfd/imm.cc
> @@ -1574,8 +1574,6 @@ void avd_saImmOiRtObjectDelete(const SaN
>    */
>   void avd_imm_update_runtime_attrs(void)
>   {
> -     SaNameT comp_name ={0};
> -     AVD_COMP *comp;
>       SaNameT node_name = {0};
>       AVD_AVND *node;
>   
> @@ -1601,8 +1599,9 @@ void avd_imm_update_runtime_attrs(void)
>       }
>   
>       /* Update Component Class runtime cached attributes. */
> -     comp = avd_comp_getnext(&comp_name);
> -     while (comp != NULL) {
> +     for (std::map<std::string, AVD_COMP*>::const_iterator it = 
> comp_db->begin();
> +                     it != comp_db->end(); it++) {
> +             AVD_COMP *comp  = it->second;
>               avd_saImmOiRtObjectUpdate(&comp->comp_info.name,
>                       "saAmfCompReadinessState", SA_IMM_ATTR_SAUINT32T,
>                       &comp->saAmfCompReadinessState);
> @@ -1615,7 +1614,6 @@ void avd_imm_update_runtime_attrs(void)
>                       "saAmfCompPresenceState", SA_IMM_ATTR_SAUINT32T,
>                       &comp->saAmfCompPresenceState);
>   
> -             comp = avd_comp_getnext(&comp->comp_info.name);
>       }
>   
>       /* Update Node Class runtime cached attributes. */
> diff --git a/osaf/services/saf/amf/amfd/include/comp.h 
> b/osaf/services/saf/amf/amfd/include/comp.h
> --- a/osaf/services/saf/amf/amfd/include/comp.h
> +++ b/osaf/services/saf/amf/amfd/include/comp.h
> @@ -55,7 +55,6 @@ typedef struct {
>   /* AMF Class SaAmfCompType */
>   typedef struct avd_comp_tag {
>   
> -     NCS_PATRICIA_NODE tree_node;    /* key will be the component name */
>       SaNameT saAmfCompType;
>   
>       /* Detailed as in data structure definition */
> @@ -122,6 +121,8 @@ typedef struct avd_comp_tag {
>       AVD_ADMIN_OPER_CBK admin_pend_cbk;  /* holds callback invocation for 
> admin operation */
>   } AVD_COMP;
>   
> +extern AmfDb<std::string, AVD_COMP> *comp_db;
> +
>   /* AMF Class SaAmfCompType */
>   typedef struct avd_amf_comp_type_tag {
>   
> @@ -211,8 +212,6 @@ extern void avd_comp_db_add(AVD_COMP *co
>   
>   extern AVD_COMP *avd_comp_new(const SaNameT *dn);
>   extern void avd_comp_delete(AVD_COMP *comp);
> -extern AVD_COMP *avd_comp_get(const SaNameT *comp_name);
> -extern AVD_COMP *avd_comp_getnext(const SaNameT *comp_name);
>   extern void avd_su_remove_comp(AVD_COMP* comp);
>   extern SaAisErrorT avd_comp_config_get(const SaNameT* su_name, AVD_SU *su);
>   extern void avd_comp_constructor(void);
> diff --git a/osaf/services/saf/amf/amfd/ndproc.cc 
> b/osaf/services/saf/amf/amfd/ndproc.cc
> --- a/osaf/services/saf/amf/amfd/ndproc.cc
> +++ b/osaf/services/saf/amf/amfd/ndproc.cc
> @@ -607,7 +607,7 @@ void avd_data_update_req_evh(AVD_CL_CB *
>       switch (n2d_msg->msg_info.n2d_data_req.param_info.class_id) {
>       case AVSV_SA_AMF_COMP:{
>                       /* Find the component record in the database, specified 
> in the message. */
> -                     if ((comp = 
> avd_comp_get(&n2d_msg->msg_info.n2d_data_req.param_info.name)) == NULL) {
> +                     if ((comp = 
> comp_db->find(Amf::to_string(&n2d_msg->msg_info.n2d_data_req.param_info.name)))
>  == NULL) {
>                               /* In case of component delete, component gets
>                                  deleted at Amfd first and then it gets
>                                  uninstantiated and then deleted at Amfnd.
> @@ -830,7 +830,7 @@ void avd_comp_validation_evh(AVD_CL_CB *
>       /* Update the receive id for the node */
>       m_AVD_SET_AVND_RCV_ID(cb, node, (valid_info->msg_id));
>   
> -     comp_ptr = avd_comp_get(&valid_info->comp_name);
> +     comp_ptr = comp_db->find(Amf::to_string(&valid_info->comp_name));
>   
>       if (NULL != comp_ptr) {
>               /* We found the component, reply to AvND. */
> diff --git a/osaf/services/saf/amf/amfd/sgproc.cc 
> b/osaf/services/saf/amf/amfd/sgproc.cc
> --- a/osaf/services/saf/amf/amfd/sgproc.cc
> +++ b/osaf/services/saf/amf/amfd/sgproc.cc
> @@ -911,7 +911,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                               m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV (avd_cb, susi, 
> AVSV_CKPT_AVD_SI_ASS);
>   
>                               susi->csi_add_rem = static_cast<SaBoolT>(false);
> -                             comp = avd_comp_get(&susi->comp_name);
> +                             comp = 
> comp_db->find(Amf::to_string(&susi->comp_name));
>                               osafassert(comp);
>                               csi = 
> csi_db->find(Amf::to_string(&susi->csi_name));
>                               osafassert(csi);
> @@ -933,7 +933,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                               while(t_sisu) {
>                                       if (true == t_sisu->csi_add_rem) {
>                                               all_csi_rem = false;
> -                                             comp = 
> avd_comp_get(&t_sisu->comp_name);
> +                                             comp = 
> comp_db->find(Amf::to_string(&t_sisu->comp_name));
>                                               osafassert(comp);
>                                               csi = 
> csi_db->find(Amf::to_string(&t_sisu->csi_name));
>                                               osafassert(csi);
> @@ -972,7 +972,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>   
>                               osafassert(susi->csi_add_rem);
>                               susi->csi_add_rem = static_cast<SaBoolT>(false);
> -                             comp = avd_comp_get(&susi->comp_name);
> +                             comp = 
> comp_db->find(Amf::to_string(&susi->comp_name));
>                               osafassert(comp);
>                               csi = 
> csi_db->find(Amf::to_string(&susi->csi_name));
>                               osafassert(csi);
> @@ -989,7 +989,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                               while(t_sisu) {
>                                       if (true == t_sisu->csi_add_rem) {
>                                               /* Find the comp csi 
> relationship. */
> -                                             comp = 
> avd_comp_get(&t_sisu->comp_name);
> +                                             comp = 
> comp_db->find(Amf::to_string(&t_sisu->comp_name));
>                                               osafassert(comp);
>                                               csi = 
> csi_db->find(Amf::to_string(&t_sisu->csi_name));
>                                               osafassert(csi);
> diff --git a/osaf/services/saf/amf/amfd/util.cc 
> b/osaf/services/saf/amf/amfd/util.cc
> --- a/osaf/services/saf/amf/amfd/util.cc
> +++ b/osaf/services/saf/amf/amfd/util.cc
> @@ -1405,16 +1405,15 @@ void amfd_file_dump(const char *path)
>               dn = su->name;
>       }
>   
> -     AVD_COMP *comp;
> -     dn.length = 0;
> -     for (comp = avd_comp_getnext(&dn); comp != NULL; comp = 
> avd_comp_getnext(&dn)) {
> +     for (std::map<std::string, AVD_COMP*>::const_iterator it = 
> comp_db->begin();
> +                     it != comp_db->end(); it++) {
> +             const AVD_COMP *comp  = it->second;
>               fprintf(f, "%s\n", comp->comp_info.name.value);
>               fprintf(f, "\tsaAmfCompOperState=%u\n", 
> comp->saAmfCompOperState);
>               fprintf(f, "\tsaAmfCompReadinessState=%u\n", 
> comp->saAmfCompReadinessState);
>               fprintf(f, "\tsaAmfCompPresenceState=%u\n", 
> comp->saAmfCompPresenceState);
>               fprintf(f, "\tsaAmfCompRestartCount=%u\n", 
> comp->saAmfCompRestartCount);
>               fprintf(f, "\tsaAmfCompOperState=%s\n", 
> comp->saAmfCompCurrProxyName.value);
> -             dn = comp->comp_info.name;
>       }
>   
>       for (std::map<std::string, AVD_SI*>::const_iterator it = si_db->begin();


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to