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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to