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