ack, code review only/Thanks HansN
On 01/25/2016 05:35 AM, Gary Lee wrote:
> osaf/services/saf/amf/amfd/ndfsm.cc | 12 +-
> osaf/services/saf/amf/amfd/ndproc.cc | 32 +--
> osaf/services/saf/amf/amfd/node.cc | 227
> +++++++++++++---------------
> osaf/services/saf/amf/amfd/nodegroup.cc | 215 ++++++++++++++------------
> osaf/services/saf/amf/amfd/nodeswbundle.cc | 46 +++--
> osaf/services/saf/amf/amfd/ntf.cc | 114 +++++++------
> osaf/services/saf/amf/amfd/pg.cc | 2 +-
> 7 files changed, 330 insertions(+), 318 deletions(-)
>
>
> diff --git a/osaf/services/saf/amf/amfd/ndfsm.cc
> b/osaf/services/saf/amf/amfd/ndfsm.cc
> --- a/osaf/services/saf/amf/amfd/ndfsm.cc
> +++ b/osaf/services/saf/amf/amfd/ndfsm.cc
> @@ -153,7 +153,7 @@
> goto done;
> }
>
> - LOG_NO("Node '%s' joined the cluster", avnd->node_name);
> + LOG_NO("Node '%s' joined the cluster", avnd->node_name.c_str());
>
> avd_node_state_set(avnd, AVD_AVND_STATE_NO_CONFIG);
>
> @@ -545,8 +545,8 @@
> continue;
>
> if (avd_snd_susi_msg(cb, su_ptr, rel_ptr,
> static_cast<AVSV_SUSI_ACT>(rel_ptr->fsm), false, nullptr) !=
> NCSCC_RC_SUCCESS) {
> - LOG_ER("%s:%u: %s (%u)", __FILE__,
> __LINE__, su_ptr->name.value,
> -
> su_ptr->name.length);
> + LOG_ER("%s:%u: %s (%zu)", __FILE__,
> __LINE__, su_ptr->name.c_str(),
> +
> su_ptr->name.length());
> }
> }
> }
> @@ -581,8 +581,8 @@
> continue;
>
> if (avd_snd_susi_msg(cb, su_ptr, rel_ptr,
> static_cast<AVSV_SUSI_ACT>(rel_ptr->fsm), false, nullptr) !=
> NCSCC_RC_SUCCESS) {
> - LOG_ER("%s:%u: %s (%u)", __FILE__,
> __LINE__, su_ptr->name.value,
> -
> su_ptr->name.length);
> + LOG_ER("%s:%u: %s (%zu)", __FILE__,
> __LINE__, su_ptr->name.c_str(),
> +
> su_ptr->name.length());
> }
> }
> }
> @@ -643,7 +643,7 @@
> avd_node_oper_state_set(node, SA_AMF_OPERATIONAL_DISABLED);
> avd_node_state_set(node, AVD_AVND_STATE_ABSENT);
>
> - LOG_NO("Node '%s' left the cluster", node->node_name);
> + LOG_NO("Node '%s' left the cluster", node->node_name.c_str());
>
> node->adest = 0;
> node->rcv_msg_id = 0;
> 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
> @@ -414,7 +414,7 @@
> } else {
> report_admin_op_error(avd_cb->immOiHandle,
> su->pend_cbk.invocation,
> rc, &su->pend_cbk, "Couldn't restart su '%s'",
> - su->name.value);
> + su->name.c_str());
> }
> su->pend_cbk.admin_oper = static_cast<SaAmfAdminOperationIdT>(0);
> su->pend_cbk.invocation = 0;
> @@ -442,7 +442,7 @@
> su->pend_cbk.admin_oper =
> static_cast<SaAmfAdminOperationIdT>(0);
> } else if (pres == SA_AMF_PRESENCE_TERMINATION_FAILED) {
> report_admin_op_error(cb->immOiHandle,
> su->pend_cbk.invocation, SA_AIS_ERR_REPAIR_PENDING,
> - &su->pend_cbk, "SU '%s' moved to
> 'termination failed' state", su->name.value);
> + &su->pend_cbk, "SU '%s' moved to
> 'termination failed' state", su->name.c_str());
> }
> break;
> case SA_AMF_ADMIN_UNLOCK_INSTANTIATION:
> @@ -454,7 +454,7 @@
> (pres == SA_AMF_PRESENCE_TERMINATION_FAILED)) {
> report_admin_op_error(cb->immOiHandle,
> su->pend_cbk.invocation, SA_AIS_ERR_REPAIR_PENDING,
> &su->pend_cbk, "SU '%s' moved to
> 'instantiation/termination failed' state",
> - su->name.value);
> + su->name.c_str());
> }
> break;
> case SA_AMF_ADMIN_UNLOCK:
> @@ -464,7 +464,7 @@
> SA_AIS_ERR_REPAIR_PENDING,
> &su->pend_cbk,
> "SU '%s' moved to 'termination failed'
> state",
> - su->name.value);
> + su->name.c_str());
> }
> break;
> case SA_AMF_ADMIN_REPAIRED:
> @@ -479,7 +479,7 @@
> } else {
> report_admin_op_error(cb->immOiHandle,
> su->pend_cbk.invocation, SA_AIS_ERR_BAD_OPERATION,
> &su->pend_cbk, "Bad presence state %u
> after '%s' adm repaired", pres,
> - su->name.value);
> + su->name.c_str());
> }
> break;
> case SA_AMF_ADMIN_RESTART:
> @@ -520,7 +520,7 @@
> } else if (pres == SA_AMF_PRESENCE_TERMINATION_FAILED) {
> report_admin_op_error(cb->immOiHandle,
> su->su_on_node->admin_node_pend_cbk.invocation,
> SA_AIS_ERR_REPAIR_PENDING,
> &su->su_on_node->admin_node_pend_cbk,
> - "SU '%s' moved to 'termination failed'
> state", su->name.value);
> + "SU '%s' moved to 'termination failed'
> state", su->name.c_str());
> su->su_on_node->su_cnt_admin_oper =
> static_cast<SaAmfAdminOperationIdT>(0);
> } /* else do nothing
> ::SA_AMF_PRESENCE_TERMINATING update is valid */
> break;
> @@ -540,7 +540,7 @@
> (pres == SA_AMF_PRESENCE_INSTANTIATION_FAILED))
> {
> report_admin_op_error(cb->immOiHandle,
> su->su_on_node->admin_node_pend_cbk.invocation,
> SA_AIS_ERR_REPAIR_PENDING,
> &su->su_on_node->admin_node_pend_cbk,
> - "SU '%s' moved to
> 'instantiation/termination failed' state", su->name.value);
> + "SU '%s' moved to
> 'instantiation/termination failed' state", su->name.c_str());
> su->su_on_node->su_cnt_admin_oper =
> static_cast<SaAmfAdminOperationIdT>(0);
> } /* else do nothing ::
> SA_AMF_PRESENCE_INSTANTIATING update is valid */
> break;
> @@ -616,7 +616,7 @@
> if(su == nullptr)
> goto node_walk;
>
> - TRACE("SU '%s', SUPresenceState '%u'", su->name.value,
> su->saAmfSUPresenceState);
> + TRACE("SU '%s', SUPresenceState '%u'", su->name.c_str(),
> su->saAmfSUPresenceState);
> if (((su->saAmfSUOperState == SA_AMF_OPERATIONAL_ENABLED) &&
> (su->saAmfSUPresenceState ==
> SA_AMF_PRESENCE_INSTANTIATED)) ||
> (su->saAmfSUOperState == SA_AMF_OPERATIONAL_DISABLED)) {
> @@ -630,7 +630,7 @@
> for (std::map<std::string, AVD_AVND *>::const_iterator it =
> node_name_db->begin();
> it != node_name_db->end(); it++) {
> node = it->second;
> - TRACE("node name '%s', Oper'%u'", node->name.value,
> node->saAmfNodeOperState);
> + TRACE("node name '%s', Oper'%u'", node->name.c_str(),
> node->saAmfNodeOperState);
> if (node->saAmfNodeOperState == SA_AMF_OPERATIONAL_ENABLED)
> {
> for (const auto& su_ptr : node->list_of_su) {
> @@ -822,11 +822,9 @@
> if
> (n2d_msg->msg_info.n2d_data_req.param_info.value_len ==
> strlen((char
> *)n2d_msg->msg_info.n2d_data_req.param_info.value)) {
> l_val =
> n2d_msg->msg_info.n2d_data_req.param_info.value_len;
> - comp->saAmfCompCurrProxyName.length =
> l_val;
> -
> - strncpy((char
> *)comp->saAmfCompCurrProxyName.value,
> - (char
> *)n2d_msg->msg_info.n2d_data_req.param_info.value,
> - SA_MAX_NAME_LENGTH - 1);
> + comp->saAmfCompCurrProxyName =
> std::string(
> +
> static_cast<char*>(n2d_msg->msg_info.n2d_data_req.param_info.value),
> + l_val);
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb,
> comp, AVSV_CKPT_COMP_CURR_PROXY_NAME);
> } else {
> /* log error that a the value len is
> invalid */
> @@ -856,7 +854,7 @@
> alarm notification by AMFD.
> */
> l_val =
> ntohl(*((uint32_t*)&n2d_msg->msg_info.n2d_data_req.param_info.value[0]));
> - avd_send_error_report_ntf(&comp->comp_info.name,
> +
> avd_send_error_report_ntf(Amf::to_string(&comp->comp_info.name),
>
> static_cast<SaAmfRecommendedRecoveryT>(l_val));
> break;
> default:
> @@ -908,7 +906,7 @@
>
> SA_AIS_ERR_REPAIR_PENDING,
>
> nullptr,
>
> "SU '%s' moved to 'termination failed' state",
> -
> su->name.value);
> +
> su->name.c_str());
> si->invocation
> = 0;
> }
> }
> @@ -1034,7 +1032,7 @@
> */
> void avd_node_failover(AVD_AVND *node)
> {
> - TRACE_ENTER2("'%s'", node->name.value);
> + TRACE_ENTER2("'%s'", node->name.c_str());
> avd_node_mark_absent(node);
> avd_pg_node_csi_del_all(avd_cb, node);
> avd_node_down_mw_susi_failover(avd_cb, node);
> diff --git a/osaf/services/saf/amf/amfd/node.cc
> b/osaf/services/saf/amf/amfd/node.cc
> --- a/osaf/services/saf/amf/amfd/node.cc
> +++ b/osaf/services/saf/amf/amfd/node.cc
> @@ -30,27 +30,17 @@
> AmfDb<uint32_t, AVD_AVND> *node_id_db = 0; /* SaClmNodeIdT index */
>
> bool operator<(const AVD_AVND &lhs, const AVD_AVND &rhs) {
> - if (strncmp((const char*) lhs.name.value, (const char*) rhs.name.value,
> lhs.name.length) < 0)
> - return true;
> - else
> - return false;
> + if (lhs.name.compare(rhs.name) < 0) {
> + return true;
> + } else {
> + return false;
> + }
> }
>
> bool NodeNameCompare::operator() (const AVD_AVND* lhs, const AVD_AVND* rhs)
> {
> return *lhs < *rhs;
> }
>
> -//
> -// TODO(HANO) Temporary use this function instead of strdup which uses
> malloc.
> -// Later on remove this function and use std::string instead
> -#include <cstring>
> -static char *StrDup(const char *s)
> -{
> - char *c = new char[strlen(s) + 1];
> - std::strcpy(c,s);
> - return c;
> -}
> -
> uint32_t avd_node_add_nodeid(AVD_AVND *node)
> {
> unsigned int rc;
> @@ -72,11 +62,14 @@
> void avd_node_db_add(AVD_AVND *node)
> {
> unsigned int rc;
> + TRACE_ENTER();
>
> - if (node_name_db->find(Amf::to_string(&node->name)) == nullptr) {
> - rc = node_name_db->insert(Amf::to_string(&node->name), node);
> + if (node_name_db->find(node->name) == nullptr) {
> + TRACE("add %s", node->name.c_str());
> + rc = node_name_db->insert(node->name, node);
> osafassert(rc == NCSCC_RC_SUCCESS);
> }
> + TRACE_LEAVE();
> }
>
> //
> @@ -98,7 +91,6 @@
>
> //
> void AVD_AVND::initialize() {
> - name = {};
> node_name = {};
> node_info = {};
> node_info.member = SA_FALSE;
> @@ -137,29 +129,25 @@
> }
>
> //
> -AVD_AVND::AVD_AVND(const SaNameT *dn) {
> +AVD_AVND::AVD_AVND(const std::string& dn) :
> + name(dn)
> +{
> + std::string::size_type eq_pos;
> + std::string::size_type comma_pos;
>
> - char *tmp_node_name;
> - SaNameT rdn = *dn;
> -
> - initialize();
> -
> - memcpy(&name.value, dn->value, dn->length);
> - name.length = dn->length;
> - tmp_node_name = strchr((char*)rdn.value, ',');
> - *tmp_node_name = 0;
> - tmp_node_name = strchr((char*)rdn.value, '=');
> - tmp_node_name++;
> - node_name = StrDup(tmp_node_name);
> + initialize();
> + // DN looks like safAmfNode=SC-1,safAmfCluster=myAmfCluster
> + eq_pos = dn.find('=');
> + comma_pos = dn.find(',');
> + node_name = dn.substr(eq_pos + 1, comma_pos - eq_pos - 1);
> }
>
> //
> AVD_AVND::~AVD_AVND() {
> - delete [] node_name;
> }
>
> //
> -AVD_AVND *avd_node_new(const SaNameT *dn)
> +AVD_AVND *avd_node_new(const std::string& dn)
> {
> AVD_AVND *node;
>
> @@ -174,7 +162,7 @@
> if (node->node_info.nodeId)
> avd_node_delete_nodeid(node);
> m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, node,
> AVSV_CKPT_AVD_NODE_CONFIG);
> - node_name_db->erase(Amf::to_string(&node->name));
> + node_name_db->erase(node->name);
> delete node;
> }
>
> @@ -198,14 +186,11 @@
> TRACE_LEAVE();
> }
>
> -AVD_AVND *avd_node_get(const SaNameT *dn)
> -{
> - return node_name_db->find(Amf::to_string(dn));
> -}
> -
> AVD_AVND *avd_node_get(const std::string& dn)
> {
> + TRACE_ENTER2("%s", dn.c_str());
> return node_name_db->find(dn);
> + TRACE_LEAVE();
> }
>
> AVD_AVND *avd_node_find_nodeid(SaClmNodeIdT node_id)
> @@ -220,50 +205,50 @@
> *
> * @return int
> */
> -static int is_config_valid(const SaNameT *dn, const SaImmAttrValuesT_2
> **attributes, CcbUtilOperationData_t * opdata)
> +static int is_config_valid(const std::string& dn, const SaImmAttrValuesT_2
> **attributes, CcbUtilOperationData_t * opdata)
> {
> SaBoolT abool;
> SaAmfAdminStateT admstate;
> - char *parent;
> + std::string::size_type pos;
> SaNameT saAmfNodeClmNode;
>
> - if ((parent = strchr((char *)dn->value, ',')) == nullptr) {
> - report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn->value);
> + if ((pos = dn.find(',')) == std::string::npos) {
> + report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn.c_str());
> return 0;
> }
>
> - if (strncmp(++parent, "safAmfCluster=", 14) != 0) {
> - report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", parent, dn->value);
> + if (dn.compare(pos + 1, 14, "safAmfCluster=") != 0) {
> + report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", dn.substr(pos + 1).c_str(), dn.c_str());
> return 0;
> }
>
> if ((immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeAutoRepair"),
> attributes, 0, &abool) == SA_AIS_OK) && (abool > SA_TRUE)) {
> - report_ccb_validation_error(opdata, "Invalid
> saAmfNodeAutoRepair %u for '%s'", abool, dn->value);
> + report_ccb_validation_error(opdata, "Invalid
> saAmfNodeAutoRepair %u for '%s'", abool, dn.c_str());
> return 0;
> }
>
> if
> ((immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeFailfastOnTerminationFailure"),
> attributes, 0, &abool) == SA_AIS_OK) &&
> (abool > SA_TRUE)) {
> report_ccb_validation_error(opdata, "Invalid
> saAmfNodeFailfastOnTerminationFailure %u for '%s'",
> - abool, dn->value);
> + abool, dn.c_str());
> return 0;
> }
>
> if
> ((immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeFailfastOnInstantiationFailure"),
> attributes, 0, &abool) == SA_AIS_OK) &&
> (abool > SA_TRUE)) {
> report_ccb_validation_error(opdata, "Invalid
> saAmfNodeFailfastOnInstantiationFailure %u for '%s'",
> - abool, dn->value);
> + abool, dn.c_str());
> return 0;
> }
>
> if ((immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeAdminState"),
> attributes, 0, &admstate) == SA_AIS_OK) &&
> !avd_admin_state_is_valid(admstate, opdata)) {
> - report_ccb_validation_error(opdata, "Invalid
> saAmfNodeAdminState %u for '%s'", admstate, dn->value);
> + report_ccb_validation_error(opdata, "Invalid
> saAmfNodeAdminState %u for '%s'", admstate, dn.c_str());
> return 0;
> }
>
> if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeClmNode"),
> attributes, 0, &saAmfNodeClmNode) != SA_AIS_OK) {
> - report_ccb_validation_error(opdata, "saAmfNodeClmNode not
> configured for '%s'", dn->value);
> + report_ccb_validation_error(opdata, "saAmfNodeClmNode not
> configured for '%s'", dn.c_str());
> return 0;
> }
>
> @@ -277,12 +262,12 @@
> *
> * @return AVD_AVND*
> */
> -static AVD_AVND *node_create(SaNameT *dn, const SaImmAttrValuesT_2
> **attributes)
> +static AVD_AVND *node_create(const std::string& dn, const SaImmAttrValuesT_2
> **attributes)
> {
> int rc = -1;
> AVD_AVND *node;
>
> - TRACE_ENTER2("'%s'", dn->value);
> + TRACE_ENTER2("'%s'", dn.c_str());
>
> /*
> ** If called at new active at failover, the object is found in the DB
> @@ -294,19 +279,21 @@
> } else
> TRACE("already created, refreshing config...");
>
> -
> - if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeClmNode"),
> attributes, 0, &node->saAmfNodeClmNode) != SA_AIS_OK) {
> - LOG_ER("saAmfNodeClmNode not configured for '%s'",
> node->saAmfNodeClmNode.value);
> + SaNameT safAmfNodeClmNode;
> + if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeClmNode"),
> attributes, 0, &safAmfNodeClmNode) != SA_AIS_OK) {
> + LOG_ER("saAmfNodeClmNode not configured for '%s'",
> safAmfNodeClmNode.value);
> goto done;
> }
>
> + node->saAmfNodeClmNode = Amf::to_string(&safAmfNodeClmNode);
> +
> if
> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeSuFailOverProb"),
> attributes, 0, &node->saAmfNodeSuFailOverProb) != SA_AIS_OK) {
> - LOG_ER("Get saAmfNodeSuFailOverProb FAILED for '%s'",
> dn->value);
> + LOG_ER("Get saAmfNodeSuFailOverProb FAILED for '%s'",
> dn.c_str());
> goto done;
> }
>
> if
> (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNodeSuFailoverMax"),
> attributes, 0, &node->saAmfNodeSuFailoverMax) != SA_AIS_OK) {
> - LOG_ER("Get saAmfNodeSuFailoverMax FAILED for '%s'", dn->value);
> + LOG_ER("Get saAmfNodeSuFailoverMax FAILED for '%s'",
> dn.c_str());
> goto done;
> }
>
> @@ -330,6 +317,7 @@
> }
>
> rc = 0;
> + osafassert(node->name.empty() == false);
>
> done:
> if (rc != 0) {
> @@ -373,12 +361,12 @@
> }
>
> while (immutil_saImmOmSearchNext_2(searchHandle, &dn,
> (SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
> - if (!is_config_valid(&dn, attributes, nullptr)) {
> + if (!is_config_valid(Amf::to_string(&dn), attributes, nullptr))
> {
> error = SA_AIS_ERR_FAILED_OPERATION;
> goto done2;
> }
>
> - if ((node = node_create(&dn, attributes)) == nullptr) {
> + if ((node = node_create(Amf::to_string(&dn), attributes)) ==
> nullptr) {
> error = SA_AIS_ERR_FAILED_OPERATION;
> goto done2;
> }
> @@ -407,7 +395,7 @@
> void avd_node_state_set(AVD_AVND *node, AVD_AVND_STATE node_state)
> {
> osafassert(node_state <= AVD_AVND_STATE_NCS_INIT);
> - TRACE_ENTER2("'%s' %s => %s", node->name.value,
> node_state_name[node->node_state],
> + TRACE_ENTER2("'%s' %s => %s", node->name.c_str(),
> node_state_name[node->node_state],
> node_state_name[node_state]);
> node->node_state = node_state;
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node,
> AVSV_CKPT_AVND_NODE_STATE);
> @@ -426,7 +414,7 @@
> * event. Since we dont update oper_state in avnd_down because
> the role is
> * not set to Active(there is no implementer), so updating now.
> */
> - avd_saImmOiRtObjectUpdate(&node->name, "saAmfNodeOperState",
> + avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeOperState",
> SA_IMM_ATTR_SAUINT32T, &node->saAmfNodeOperState);
>
> /* Send notification for node oper state down. It is set to
> @@ -436,7 +424,7 @@
> avd_node_mark_absent, we need to send notification. */
> if ((node->saAmfNodeOperState == SA_AMF_OPERATIONAL_DISABLED) &&
> (node->node_state == AVD_AVND_STATE_ABSENT))
> - avd_send_oper_chg_ntf(&node->name,
> + avd_send_oper_chg_ntf(node->name,
> SA_AMF_NTFID_NODE_OP_STATE,
> SA_AMF_OPERATIONAL_ENABLED,
> node->saAmfNodeOperState);
> @@ -447,15 +435,15 @@
> SaAmfOperationalStateT old_state = node->saAmfNodeOperState;
>
> osafassert(oper_state <= SA_AMF_OPERATIONAL_DISABLED);
> - saflog(LOG_NOTICE, amfSvcUsrName, "%s OperState %s => %s",
> node->name.value,
> + saflog(LOG_NOTICE, amfSvcUsrName, "%s OperState %s => %s",
> node->name.c_str(),
> avd_oper_state_name[node->saAmfNodeOperState],
> avd_oper_state_name[oper_state]);
> node->saAmfNodeOperState = oper_state;
> - avd_saImmOiRtObjectUpdate(&node->name, "saAmfNodeOperState",
> + avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeOperState",
> SA_IMM_ATTR_SAUINT32T, &node->saAmfNodeOperState);
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node,
> AVSV_CKPT_AVND_OPER_STATE);
>
> /* notification */
> - avd_send_oper_chg_ntf(&node->name,
> + avd_send_oper_chg_ntf(node->name,
> SA_AMF_NTFID_NODE_OP_STATE,
> old_state,
> node->saAmfNodeOperState);
> @@ -474,10 +462,9 @@
> static SaAisErrorT node_ccb_completed_delete_hdlr(CcbUtilOperationData_t
> *opdata)
> {
> SaAisErrorT rc = SA_AIS_OK;
> - AVD_AVND *node = avd_node_get(&opdata->objectName);
> + AVD_AVND *node = avd_node_get(Amf::to_string(&opdata->objectName));
> bool su_exist = false;
> CcbUtilOperationData_t *t_opData;
> - std::string node_name(Amf::to_string(&node->name));
>
> TRACE_ENTER2("'%s'", opdata->objectName.value);
>
> @@ -503,7 +490,8 @@
> * each of the SU in the node list in the current CCB
> */
> for (const auto& su : node->list_of_su) {
> - t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId,
> &su->name);
> + const SaNameTWrapper su_name(su->name);
> + t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId,
> su_name);
> if ((t_opData == nullptr) || (t_opData->operationType
> != CCBUTIL_DELETE)) {
> su_exist = true;
> break;
> @@ -524,14 +512,15 @@
>
> if (node_in_nodegroup(Amf::to_string(&(opdata->objectName)),
> ng) == true) {
> // if the node is being removed from nodegroup too,
> then it's OK
> - TRACE("check if node is being deleted from nodegroup
> '%s'", ng->name.value);
> - t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId,
> &ng->name);
> + TRACE("check if node is being deleted from nodegroup
> '%s'", ng->name.c_str());
> + const SaNameTWrapper ng_name(ng->name);
> + t_opData = ccbutil_getCcbOpDataByDN(opdata->ccbId,
> ng_name);
>
> if (t_opData == nullptr) {
> TRACE("t_opData is nullptr");
> report_ccb_validation_error(opdata, "'%s'
> exists in"
> " the nodegroup '%s'",
> - opdata->objectName.value,
> ng->name.value);
> + opdata->objectName.value,
> ng->name.c_str());
> rc = SA_AIS_ERR_BAD_OPERATION;
> goto done;
> }
> @@ -550,9 +539,9 @@
> node_being_removed == false) {
> if (mod->modType ==
> SA_IMM_ATTR_VALUES_DELETE) {
> for (unsigned j = 0; j <
> mod->modAttr.attrValuesNumber; j++) {
> - if
> (node_name.compare(Amf::to_string((SaNameT *)mod->modAttr.attrValues[j])) ==
> 0) {
> + if
> (node->name.compare(Amf::to_string((SaNameT *)mod->modAttr.attrValues[j])) ==
> 0) {
> // node is
> being removed from nodegroup
> - TRACE("node %s
> is being removed from %s", node_name.c_str(), ng->name.value);
> + TRACE("node %s
> is being removed from %s", node->name.c_str(), ng->name.c_str());
>
> node_being_removed = true;
> break;
> }
> @@ -567,7 +556,7 @@
> if (node_being_removed == false) {
> report_ccb_validation_error(opdata, "'%s'
> exists in"
> " the nodegroup '%s'",
> - opdata->objectName.value,
> ng->name.value);
> + opdata->objectName.value,
> ng->name.c_str());
> rc = SA_AIS_ERR_BAD_OPERATION;
> goto done;
> }
> @@ -670,7 +659,7 @@
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - if (is_config_valid(&opdata->objectName,
> opdata->param.create.attrValues, opdata))
> + if (is_config_valid(Amf::to_string(&opdata->objectName),
> opdata->param.create.attrValues, opdata))
> rc = SA_AIS_OK;
> break;
> case CCBUTIL_MODIFY:
> @@ -690,7 +679,7 @@
>
> static void node_ccb_apply_delete_hdlr(AVD_AVND *node)
> {
> - TRACE_ENTER2("'%s'", node->name.value);
> + TRACE_ENTER2("'%s'", node->name.c_str());
> avd_node_delete_nodeid(node);
> avd_node_delete(node);
> TRACE_LEAVE();
> @@ -704,9 +693,11 @@
>
> TRACE_ENTER2("'%s'", opdata->objectName.value);
>
> - node = avd_node_get(&opdata->objectName);
> + node = avd_node_get(Amf::to_string(&opdata->objectName));
> osafassert(node != nullptr);
>
> + const SaNameTWrapper node_name(node->name);
> +
> i = 0;
> /* Modifications can be done for the following parameters. */
> while (((attr_mod = opdata->param.modify.attrMods[i++])) != nullptr) {
> @@ -728,7 +719,7 @@
> param.class_id = AVSV_SA_AMF_NODE;
> param.attr_id = saAmfNodeSuFailoverProb_ID;
> param.act = AVSV_OBJ_OPR_MOD;
> - param.name = node->name;
> + param.name = node_name;
> TRACE("Old saAmfNodeSuFailOverProb is '%llu'",
> node->saAmfNodeSuFailOverProb);
> if (node->node_state != AVD_AVND_STATE_ABSENT) {
> param.value_len = sizeof(SaTimeT);
> @@ -752,7 +743,7 @@
> param.class_id = AVSV_SA_AMF_NODE;
> param.attr_id = saAmfNodeSuFailoverMax_ID;
> param.act = AVSV_OBJ_OPR_MOD;
> - param.name = node->name;
> + param.name = node_name;
> TRACE("Old saAmfNodeSuFailoverMax is '%u'",
> node->saAmfNodeSuFailoverMax);
>
> if (node->node_state != AVD_AVND_STATE_ABSENT) {
> @@ -769,19 +760,19 @@
> } else if (!strcmp(attribute->attrName, "saAmfNodeAutoRepair"))
> {
> node->saAmfNodeAutoRepair = *((SaBoolT
> *)attribute->attrValues[0]);
> amflog(LOG_NOTICE, "%s saAmfNodeAutoRepair changed to
> %u",
> - node->name.value, node->saAmfNodeAutoRepair);
> + node->name.c_str(), node->saAmfNodeAutoRepair);
> } else if (!strcmp(attribute->attrName,
> "saAmfNodeFailfastOnTerminationFailure")) {
> node->saAmfNodeFailfastOnTerminationFailure =
> *((SaBoolT *)attribute->attrValues[0]);
> amflog(LOG_NOTICE, "%s
> saAmfNodeFailfastOnTerminationFailure changed to %u",
> - node->name.value,
> node->saAmfNodeFailfastOnTerminationFailure);
> + node->name.c_str(),
> node->saAmfNodeFailfastOnTerminationFailure);
> } else if (!strcmp(attribute->attrName,
> "saAmfNodeFailfastOnInstantiationFailure")) {
> node->saAmfNodeFailfastOnInstantiationFailure =
> *((SaBoolT *)attribute->attrValues[0]);
> amflog(LOG_NOTICE, "%s
> saAmfNodeFailfastOnInstantiationFailure changed to %u",
> - node->name.value,
> node->saAmfNodeFailfastOnInstantiationFailure);
> + node->name.c_str(),
> node->saAmfNodeFailfastOnInstantiationFailure);
> LOG_NO( "%s saAmfNodeFailfastOnInstantiationFailure
> changed to %u",
> - node->name.value,
> node->saAmfNodeFailfastOnInstantiationFailure);
> + node->name.c_str(),
> node->saAmfNodeFailfastOnInstantiationFailure);
> } else {
> osafassert(0);
> }
> @@ -798,7 +789,7 @@
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - node = node_create(&opdata->objectName,
> opdata->param.create.attrValues);
> + node = node_create(Amf::to_string(&opdata->objectName),
> opdata->param.create.attrValues);
> osafassert(node);
> node_add_to_model(node);
> break;
> @@ -835,16 +826,16 @@
> node->saAmfNodeAdminState = admin_state;
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node,
> AVSV_CKPT_AVND_ADMIN_STATE);
> } else {
> - TRACE_ENTER2("%s AdmState %s => %s", node->name.value,
> + TRACE_ENTER2("%s AdmState %s => %s", node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState],
> avd_adm_state_name[admin_state]);
>
> - saflog(LOG_NOTICE, amfSvcUsrName, "%s AdmState %s => %s",
> node->name.value,
> + saflog(LOG_NOTICE, amfSvcUsrName, "%s AdmState %s => %s",
> node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState],
> avd_adm_state_name[admin_state]);
> node->saAmfNodeAdminState = admin_state;
> - avd_saImmOiRtObjectUpdate(&node->name, "saAmfNodeAdminState",
> + avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeAdminState",
> SA_IMM_ATTR_SAUINT32T, &node->saAmfNodeAdminState);
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node,
> AVSV_CKPT_AVND_ADMIN_STATE);
> - avd_send_admin_state_chg_ntf(&node->name,
> SA_AMF_NTFID_NODE_ADMIN_STATE, old_state, node->saAmfNodeAdminState);
> + avd_send_admin_state_chg_ntf(node->name,
> SA_AMF_NTFID_NODE_ADMIN_STATE, old_state, node->saAmfNodeAdminState);
> }
> TRACE_LEAVE();
> }
> @@ -858,7 +849,7 @@
> {
> uint32_t rc = NCSCC_RC_SUCCESS;
>
> - TRACE_ENTER2("%s", node->name.value);
> + TRACE_ENTER2("%s", node->name.c_str());
>
> /* terminate all the SUs on this Node */
> for (const auto& su : node->list_of_su) {
> @@ -871,7 +862,7 @@
> node->su_cnt_admin_oper++;
> } else {
> rc = NCSCC_RC_FAILURE;
> - LOG_WA("Failed Termination '%s'",
> su->name.value);
> + LOG_WA("Failed Termination '%s'",
> su->name.c_str());
> }
> }
> }
> @@ -889,7 +880,7 @@
> {
> uint32_t rc = NCSCC_RC_SUCCESS;
>
> - TRACE_ENTER2("%s", node->name.value);
> + TRACE_ENTER2("%s", node->name.c_str());
>
> /* instantiate the SUs on this Node */
> for (const auto& su : node->list_of_su) {
> @@ -907,7 +898,7 @@
>
> su->sg_of_su->try_inst_counter++;
> } else {
> rc = NCSCC_RC_FAILURE;
> - LOG_WA("Failed Instantiation
> '%s'", su->name.value);
> + LOG_WA("Failed Instantiation
> '%s'", su->name.c_str());
> }
> }
> } else
> @@ -939,7 +930,7 @@
> SaAmfAdminStateT new_admin_state;
> bool is_assignments_done = false;
>
> - TRACE_ENTER2("%s", node->name.value);
> + TRACE_ENTER2("%s", node->name.c_str());
>
> /* determine the new_admin_state from operation ID */
> if (operationId == SA_AMF_ADMIN_SHUTDOWN)
> @@ -1177,7 +1168,7 @@
>
> TRACE_ENTER2("%llu, '%s', %llu", invocation, objectName->value,
> operationId);
>
> - node = avd_node_get(objectName);
> + node = avd_node_get(Amf::to_string(objectName));
> osafassert(node != AVD_AVND_NULL);
>
> if (node->admin_node_pend_cbk.admin_oper != 0) {
> @@ -1193,7 +1184,7 @@
> for (const auto& su : node->list_of_su) {
> if (su->pend_cbk.admin_oper != 0) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_TRY_AGAIN, nullptr,
> - "SU on this node is undergoing admin op
> (%s)", su->name.value);
> + "SU on this node is undergoing admin op
> (%s)", su->name.c_str());
> goto done;
> }
>
> @@ -1201,14 +1192,14 @@
> (su->saAmfSUPresenceState ==
> SA_AMF_PRESENCE_TERMINATING) ||
> (su->saAmfSUPresenceState ==
> SA_AMF_PRESENCE_RESTARTING)) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_TRY_AGAIN, nullptr,
> - "'%s' presence state is '%u'",
> su->name.value, su->saAmfSUPresenceState);
> + "'%s' presence state is '%u'",
> su->name.c_str(), su->saAmfSUPresenceState);
> goto done;
> }
>
> if (su->sg_of_su->sg_fsm_state != AVD_SG_FSM_STABLE) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_TRY_AGAIN, nullptr,
> "SG'%s' of SU'%s' on this node not in
> STABLE state",
> - su->sg_of_su->name.value,
> su->name.value);
> + su->sg_of_su->name.c_str(),
> su->name.c_str());
> goto done;
> }
> }
> @@ -1223,20 +1214,20 @@
> case SA_AMF_ADMIN_SHUTDOWN:
> if (node->saAmfNodeAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in SHUTTING DOWN state",
> node->name.value);
> + "'%s' Already in SHUTTING DOWN state",
> node->name.c_str());
> goto done;
> }
>
> if (node->saAmfNodeAdminState != SA_AMF_ADMIN_UNLOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation SHUTDOWN
> in state %s",
> - node->name.value,
> avd_adm_state_name[node->saAmfNodeAdminState]);
> + node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState]);
> goto done;
> }
>
> if (node->node_info.member == false) {
> node_admin_state_set(node, SA_AMF_ADMIN_LOCKED);
> - LOG_NO("'%s' SHUTDOWN: CLM node is not member",
> node->name.value);
> + LOG_NO("'%s' SHUTDOWN: CLM node is not member",
> node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
> @@ -1247,19 +1238,19 @@
> case SA_AMF_ADMIN_UNLOCK:
> if (node->saAmfNodeAdminState == SA_AMF_ADMIN_UNLOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in UNLOCKED state",
> node->name.value);
> + "'%s' Already in UNLOCKED state",
> node->name.c_str());
> goto done;
> }
>
> if (node->saAmfNodeAdminState != SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation UNLOCK in
> state %s",
> - node->name.value,
> avd_adm_state_name[node->saAmfNodeAdminState]);
> + node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState]);
> goto done;
> }
>
> if (node->node_info.member == false) {
> - LOG_NO("'%s' UNLOCK: CLM node is not member",
> node->name.value);
> + LOG_NO("'%s' UNLOCK: CLM node is not member",
> node->name.c_str());
> node_admin_state_set(node, SA_AMF_ADMIN_UNLOCKED);
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> @@ -1282,20 +1273,20 @@
> case SA_AMF_ADMIN_LOCK:
> if (node->saAmfNodeAdminState == SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in LOCKED state",
> node->name.value);
> + "'%s' Already in LOCKED state",
> node->name.c_str());
> goto done;
> }
>
> if (node->saAmfNodeAdminState ==
> SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation LOCK in
> state %s",
> - node->name.value,
> avd_adm_state_name[node->saAmfNodeAdminState]);
> + node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState]);
> goto done;
> }
>
> if (node->node_info.member == false) {
> node_admin_state_set(node, SA_AMF_ADMIN_LOCKED);
> - LOG_NO("%s' LOCK: CLM node is not member",
> node->name.value);
> + LOG_NO("%s' LOCK: CLM node is not member",
> node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
> @@ -1315,14 +1306,14 @@
> case SA_AMF_ADMIN_LOCK_INSTANTIATION:
> if (node->saAmfNodeAdminState ==
> SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in LOCKED INSTANTIATION
> state", node->name.value);
> + "'%s' Already in LOCKED INSTANTIATION
> state", node->name.c_str());
> goto done;
> }
>
> if (node->saAmfNodeAdminState != SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation
> LOCK_INSTANTIATION in state %s",
> - node->name.value,
> avd_adm_state_name[node->saAmfNodeAdminState]);
> + node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState]);
> goto done;
> }
>
> @@ -1330,13 +1321,13 @@
> node_admin_state_set(node, SA_AMF_ADMIN_LOCKED_INSTANTIATION);
>
> if (node->node_info.member == false) {
> - LOG_NO("'%s' LOCK_INSTANTIATION: CLM node is not
> member", node->name.value);
> + LOG_NO("'%s' LOCK_INSTANTIATION: CLM node is not
> member", node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
>
> if (node->saAmfNodeOperState == SA_AMF_OPERATIONAL_DISABLED) {
> - LOG_NO("'%s' LOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.value);
> + LOG_NO("'%s' LOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
> @@ -1363,14 +1354,14 @@
> case SA_AMF_ADMIN_UNLOCK_INSTANTIATION:
> if (node->saAmfNodeAdminState == SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in LOCKED state",
> node->name.value);
> + "'%s' Already in LOCKED state",
> node->name.c_str());
> goto done;
> }
>
> if (node->saAmfNodeAdminState !=
> SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
> report_admin_op_error(immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation
> UNLOCK_INSTANTIATION in state %s",
> - node->name.value,
> avd_adm_state_name[node->saAmfNodeAdminState]);
> + node->name.c_str(),
> avd_adm_state_name[node->saAmfNodeAdminState]);
> goto done;
> }
>
> @@ -1378,13 +1369,13 @@
> node_admin_state_set(node, SA_AMF_ADMIN_LOCKED);
>
> if (node->node_info.member == false) {
> - LOG_NO("'%s' UNLOCK_INSTANTIATION: CLM node is not
> member", node->name.value);
> + LOG_NO("'%s' UNLOCK_INSTANTIATION: CLM node is not
> member", node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
>
> if (node->saAmfNodeOperState == SA_AMF_OPERATIONAL_DISABLED) {
> - LOG_NO("'%s' UNLOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.value);
> + LOG_NO("'%s' UNLOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.c_str());
> avd_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> goto done;
> }
> @@ -1428,7 +1419,7 @@
>
> void avd_node_add_su(AVD_SU *su)
> {
> - if (strstr((char *)su->name.value, "safApp=OpenSAF") != nullptr) {
> + if (su->name.find("safApp=OpenSAF") != std::string::npos) {
> su->su_on_node->list_of_ncs_su.push_back(su);
> std::sort(su->su_on_node->list_of_ncs_su.begin(),
> su->su_on_node->list_of_ncs_su.end(),
> [](const AVD_SU *a, const AVD_SU *b) -> bool {return
> a->saAmfSURank < b->saAmfSURank;});
> @@ -1481,7 +1472,7 @@
> for (std::map<std::string, AVD_AMF_NG*>::const_iterator it =
> nodegroup_db->begin();
> it != nodegroup_db->end(); it++) {
> AVD_AMF_NG *ng = it->second;
> - if ((node_in_nodegroup(Amf::to_string(&node->name), ng) ==
> true) &&
> + if ((node_in_nodegroup(node->name, ng) == true) &&
> (ng->saAmfNGAdminState !=
> SA_AMF_ADMIN_UNLOCKED))
> return false;
> }
> @@ -1497,9 +1488,9 @@
> for (std::map<std::string, AVD_AMF_NG*>::const_iterator it =
> nodegroup_db->begin();
> it != nodegroup_db->end(); it++) {
> AVD_AMF_NG *ng = it->second;
> - if ((node_in_nodegroup(Amf::to_string(&node->name), ng) ==
> true) &&
> + if ((node_in_nodegroup(node->name, ng) == true) &&
> (ng->saAmfNGAdminState ==
> SA_AMF_ADMIN_LOCKED_INSTANTIATION)) {
> - TRACE("Nodegroup '%s' is in locked-in", ng->name.value);
> + TRACE("Nodegroup '%s' is in locked-in",
> ng->name.c_str());
> return true;
> }
> }
> diff --git a/osaf/services/saf/amf/amfd/nodegroup.cc
> b/osaf/services/saf/amf/amfd/nodegroup.cc
> --- a/osaf/services/saf/amf/amfd/nodegroup.cc
> +++ b/osaf/services/saf/amf/amfd/nodegroup.cc
> @@ -25,7 +25,7 @@
> #include <set>
>
> AmfDb<std::string, AVD_AMF_NG> *nodegroup_db = 0;
> -static AVD_AMF_NG *ng_create(SaNameT *dn, const SaImmAttrValuesT_2
> **attributes);
> +static AVD_AMF_NG *ng_create(const std::string& dn, const SaImmAttrValuesT_2
> **attributes);
> //TODO: Make below function members.
> static void ng_admin_unlock_inst(AVD_AMF_NG *ng);
> static void ng_unlock(AVD_AMF_NG *ng);
> @@ -36,9 +36,9 @@
> *
> * @return AVD_AMF_NG*
> */
> -AVD_AMF_NG *avd_ng_get(const SaNameT *dn)
> +AVD_AMF_NG *avd_ng_get(const std::string& dn)
> {
> - return nodegroup_db->find(Amf::to_string(dn));
> + return nodegroup_db->find(dn);
> }
>
> /**
> @@ -48,21 +48,24 @@
> *
> * @return int
> */
> -static int is_config_valid(const SaNameT *dn, const SaImmAttrValuesT_2
> **attributes, CcbUtilOperationData_t *opdata)
> +static int is_config_valid(const std::string& dn, const SaImmAttrValuesT_2
> **attributes, CcbUtilOperationData_t *opdata)
> {
> int i = 0;
> unsigned j = 0;
> - char *p;
> + std::string::size_type pos;
> const SaImmAttrValuesT_2 *attr;
>
> - p = strchr((char *)dn->value, ',');
> - if (p == nullptr) {
> - report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn->value);
> + TRACE_ENTER2("%s", dn.c_str());
> +
> + if ((pos = dn.find(',')) == std::string::npos) {
> + report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn.c_str());
> + TRACE_LEAVE();
> return 0;
> }
>
> - if (strncmp(++p, "safAmfCluster=", 14) != 0) {
> - report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", p, dn->value);
> + if (dn.compare(pos + 1, 14, "safAmfCluster=") != 0) {
> + report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", dn.substr(pos + 1).c_str(), dn.c_str());
> + TRACE_LEAVE();
> return 0;
> }
>
> @@ -75,10 +78,11 @@
>
> for (j = 0; j < attr->attrValuesNumber; j++) {
> SaNameT *name = (SaNameT *)attr->attrValues[j];
> - AVD_AVND *node = avd_node_get(name);
> + AVD_AVND *node = avd_node_get(Amf::to_string(name));
> if (node == nullptr) {
> if (opdata == nullptr) {
> report_ccb_validation_error(opdata, "'%s' does
> not exist in model", name->value);
> + TRACE_LEAVE();
> return 0;
> }
>
> @@ -86,6 +90,7 @@
> if (ccbutil_getCcbOpDataByDN(opdata->ccbId, name) ==
> nullptr) {
> report_ccb_validation_error(opdata, "'%s' does
> not exist either in model or CCB",
> name->value);
> + TRACE_LEAVE();
> return 0;
> }
> }
> @@ -96,23 +101,29 @@
> -when AMFD is reading the configuration from IMM at OpenSAF start or
> -nodegroup creation using CCB operation.
> */
> -
> - AVD_AMF_NG *tmp_ng = ng_create((SaNameT *)dn, attributes);
> - if (tmp_ng == nullptr)
> +
> + AVD_AMF_NG *tmp_ng = ng_create(dn, attributes);
> + if (tmp_ng == nullptr) {
> + TRACE_LEAVE();
> return 0;
> + }
> +
> if (attr->attrValuesNumber != tmp_ng->number_nodes()) {
> - LOG_ER("Duplicate nodes in saAmfNGNodeList of
> '%s'",tmp_ng->name.value);
> + LOG_ER("Duplicate nodes in saAmfNGNodeList of
> '%s'",tmp_ng->name.c_str());
> delete tmp_ng;
> + TRACE_LEAVE();
> return 0;
> }
> //Check if admin state is valid or not.
> if (!avd_admin_state_is_valid(tmp_ng->saAmfNGAdminState, opdata)) {
> LOG_ER("Incorrect saAmfNGAdminState:'%u' for
> '%s'",tmp_ng->saAmfNGAdminState,
> - tmp_ng->name.value);
> + tmp_ng->name.c_str());
> delete tmp_ng;
> + TRACE_LEAVE();
> return 0;
> }
> delete tmp_ng;
> + TRACE_LEAVE();
> return 1;
> }
>
> @@ -124,7 +135,6 @@
> ng_on_cluster(0),
> saAmfNGAdminState(SA_AMF_ADMIN_UNLOCKED)
> {
> - memset(&name, 0, sizeof(SaNameT));
> admin_ng_pend_cbk.admin_oper = static_cast<SaAmfAdminOperationIdT>(0);
> admin_ng_pend_cbk.invocation = 0;
> }
> @@ -136,19 +146,18 @@
> *
> * @return AVD_AVND*
> */
> -static AVD_AMF_NG *ng_create(SaNameT *dn, const SaImmAttrValuesT_2
> **attributes)
> +static AVD_AMF_NG *ng_create(const std::string& dn, const SaImmAttrValuesT_2
> **attributes)
> {
> int rc = -1;
> unsigned int i, values_number;
> AVD_AMF_NG *ng;
> const SaNameT *node_name;
>
> - TRACE_ENTER2("'%s'", dn->value);
> + TRACE_ENTER2("'%s'", dn.c_str());
>
> ng = new AVD_AMF_NG();
>
> - memcpy(ng->name.value, dn->value, dn->length);
> - ng->name.length = dn->length;
> + ng->name = dn;
>
> if
> ((immutil_getAttrValuesNumber(const_cast<SaImmAttrNameT>("saAmfNGNodeList"),
> attributes,
> &values_number) == SA_AIS_OK) && (values_number > 0)) {
> @@ -160,7 +169,7 @@
> }
> }
> else {
> - LOG_ER("Node groups must contian at least one node");
> + LOG_ER("Node groups must contain at least one node");
> goto done;
> }
> if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNGAdminState"),
> @@ -175,7 +184,8 @@
> ng = nullptr;
> }
>
> - TRACE_LEAVE();
> + osafassert(ng != nullptr);
> + TRACE_LEAVE2("%u", rc);
> return ng;
> }
>
> @@ -186,7 +196,7 @@
> */
> static void ng_delete(AVD_AMF_NG *ng)
> {
> - nodegroup_db->erase(Amf::to_string(&ng->name));
> + nodegroup_db->erase(ng->name);
> delete ng;
> }
>
> @@ -231,15 +241,18 @@
> }
>
> while (immutil_saImmOmSearchNext_2(searchHandle, &dn,
> (SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
> - if (!is_config_valid(&dn, attributes, nullptr)) {
> +
> + if (is_config_valid(Amf::to_string(&dn), attributes, nullptr)
> == false) {
> + TRACE("%s config is invalid", dn.value);
> error = SA_AIS_ERR_FAILED_OPERATION;
> goto done2;
> }
>
> - if ((ng = ng_create(&dn, (const SaImmAttrValuesT_2
> **)attributes)) == nullptr)
> + if ((ng = ng_create(Amf::to_string(&dn), (const
> SaImmAttrValuesT_2 **)attributes)) == nullptr) {
> goto done2;
> + }
>
> - nodegroup_db->insert(Amf::to_string(&ng->name), ng);
> + nodegroup_db->insert(ng->name, ng);
> }
>
> rc = SA_AIS_OK;
> @@ -260,10 +273,9 @@
> */
> static bool su_is_mapped_to_node_via_nodegroup(const AVD_SU *su, const
> AVD_AMF_NG *ng)
> {
> - if ((memcmp(&ng->name, &su->saAmfSUHostNodeOrNodeGroup,
> sizeof(SaNameT)) == 0) ||
> - (memcmp(&ng->name, &su->sg_of_su->saAmfSGSuHostNodeGroup,
> sizeof(SaNameT)) == 0)) {
> -
> - TRACE("SU '%s' mapped using '%s'", su->name.value,
> ng->name.value);
> + if (ng->name.compare(su->saAmfSUHostNodeOrNodeGroup) == 0 ||
> + ng->name.compare(su->sg_of_su->saAmfSGSuHostNodeGroup) == 0) {
> + TRACE("SU '%s' mapped using '%s'", su->name.c_str(),
> ng->name.c_str());
> return true;
> }
>
> @@ -309,7 +321,7 @@
>
> TRACE_ENTER();
>
> - ng = avd_ng_get(&opdata->objectName);
> + ng = avd_ng_get(Amf::to_string(&opdata->objectName));
> if (ng == nullptr) {
> report_ccb_validation_error(opdata, "ng modify: nodegroup
> cannot be found");
> goto done;
> @@ -330,19 +342,19 @@
> delete_found = 1;
>
> for (j = 0; j < mod->modAttr.attrValuesNumber; j++) {
> - node = avd_node_get((SaNameT
> *)mod->modAttr.attrValues[j]);
> + const std::string
> node_name(Amf::to_string((SaNameT *)mod->modAttr.attrValues[j]));
> + node = avd_node_get(node_name);
> if (node == nullptr) {
> report_ccb_validation_error(opdata,
> "Node '%s' does not exist",
> - ((SaNameT
> *)mod->modAttr.attrValues[j])->value);
> + node_name.c_str());
> goto done;
> }
>
> - TRACE("DEL %s", ((SaNameT
> *)mod->modAttr.attrValues[j])->value);
> + TRACE("DEL %s", node_name.c_str());
>
> - if (node_in_nodegroup(Amf::to_string((SaNameT
> *)mod->modAttr.attrValues[j]),
> - ng) == false) {
> + if (node_in_nodegroup(node_name, ng) == false) {
> report_ccb_validation_error(opdata, "ng
> modify: node '%s' does not exist in node group",
> - ((SaNameT
> *)mod->modAttr.attrValues[j])->value);
> + node_name.c_str());
> goto done;
> }
>
> @@ -350,12 +362,13 @@
>
> /* for all OpenSAF SUs hosted by this node */
> for (const auto& su : node->list_of_ncs_su) {
> + const SaNameTWrapper su_name(su->name);
> if
> (su_is_mapped_to_node_via_nodegroup(su, ng)) {
> - t_opData =
> ccbutil_getCcbOpDataByDN(opdata->ccbId, &su->name);
> + t_opData =
> ccbutil_getCcbOpDataByDN(opdata->ccbId, su_name);
> if (t_opData == nullptr ||
> t_opData->operationType != CCBUTIL_DELETE) {
>
> report_ccb_validation_error(opdata, "Cannot delete '%s' from '%s'."
> " An SU is
> mapped using node group",
> -
> node->name.value, ng->name.value);
> +
> node->name.c_str(), ng->name.c_str());
> goto done;
> }
> }
> @@ -363,12 +376,13 @@
>
> /* for all application SUs hosted by this node
> */
> for (const auto& su : node->list_of_su) {
> + const SaNameTWrapper su_name(su->name);
> if
> (su_is_mapped_to_node_via_nodegroup(su, ng)) {
> - t_opData =
> ccbutil_getCcbOpDataByDN(opdata->ccbId, &su->name);
> + t_opData =
> ccbutil_getCcbOpDataByDN(opdata->ccbId, su_name);
> if (t_opData == nullptr ||
> t_opData->operationType != CCBUTIL_DELETE) {
>
> report_ccb_validation_error(opdata, "Cannot delete '%s' from '%s'."
> " An SU is mapped using
> node group",
> - node->name.value,
> ng->name.value);
> + node->name.c_str(),
> ng->name.c_str());
> goto done;
> }
> }
> @@ -393,7 +407,7 @@
> add_found = 1;
>
> for (j = 0; j < mod->modAttr.attrValuesNumber; j++) {
> - node = avd_node_get((SaNameT
> *)mod->modAttr.attrValues[j]);
> + node = avd_node_get(Amf::to_string((SaNameT
> *)mod->modAttr.attrValues[j]));
> if ((node == nullptr) &&
>
> (ccbutil_getCcbOpDataByDN(opdata->ccbId, (SaNameT
> *)mod->modAttr.attrValues[j]) == nullptr)) {
>
> @@ -431,9 +445,10 @@
> *
> * @return bool
> */
> -static bool is_deleted_in_ccb(SaImmOiCcbIdT ccbId, const SaNameT *dn)
> +static bool is_deleted_in_ccb(SaImmOiCcbIdT ccbId, const std::string& dn)
> {
> - CcbUtilOperationData_t *opdata = ccbutil_getCcbOpDataByDN(ccbId, dn);
> + const SaNameTWrapper dn_name(dn);
> + CcbUtilOperationData_t *opdata = ccbutil_getCcbOpDataByDN(ccbId,
> dn_name);
>
> if ((opdata != nullptr) && (opdata->operationType == CCBUTIL_DELETE))
> return true;
> @@ -451,14 +466,14 @@
> {
> SaAisErrorT rc = SA_AIS_ERR_BAD_OPERATION;
> AVD_AVND *node;
> - AVD_AMF_NG *ng = avd_ng_get(&opdata->objectName);
> + AVD_AMF_NG *ng = avd_ng_get(Amf::to_string(&opdata->objectName));
>
> TRACE_ENTER2("%u", ng->number_nodes());
> std::set<std::string>::const_iterator iter;
> if ((ng->saAmfNGAdminState != SA_AMF_ADMIN_LOCKED) &&
> (ng->saAmfNGAdminState != SA_AMF_ADMIN_UNLOCKED)) {
> report_ccb_validation_error(opdata, "'%s' can be deleted in
> locked or unlocked admin state",
> - ng->name.value);
> + ng->name.c_str());
> goto done;
> }
> for (iter = ng->saAmfNGNodeList.begin();
> @@ -467,7 +482,7 @@
>
> node = avd_node_get(*iter);
>
> - TRACE("%s", node->name.value);
> + TRACE("%s", node->name.c_str());
>
> /*
> ** for all SUs hosted by this node, if any SU is mapped using
> @@ -478,18 +493,18 @@
> */
> for (const auto& su : node->list_of_ncs_su) {
> if (su_is_mapped_to_node_via_nodegroup(su, ng) &&
> - is_deleted_in_ccb(opdata->ccbId, &su->name) ==
> false) {
> + is_deleted_in_ccb(opdata->ccbId, su->name) ==
> false) {
> report_ccb_validation_error(opdata, "Cannot
> delete '%s' because '%s' is mapped using it",
> - ng->name.value, su->name.value);
> + ng->name.c_str(), su->name.c_str());
> goto done;
> }
> }
>
> for (const auto& su : node->list_of_su) {
> if (su_is_mapped_to_node_via_nodegroup(su, ng) &&
> - is_deleted_in_ccb(opdata->ccbId, &su->name) ==
> false) {
> + is_deleted_in_ccb(opdata->ccbId, su->name) ==
> false) {
> report_ccb_validation_error(opdata, "Cannot
> delete '%s' because '%s' is mapped using it",
> - ng->name.value, su->name.value);
> + ng->name.c_str(), su->name.c_str());
> goto done;
> }
> }
> @@ -514,7 +529,7 @@
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - if (is_config_valid(&opdata->objectName,
> opdata->param.create.attrValues, opdata))
> + if (is_config_valid(Amf::to_string(&opdata->objectName),
> opdata->param.create.attrValues, opdata))
> rc = SA_AIS_OK;
> break;
> case CCBUTIL_MODIFY:
> @@ -545,7 +560,7 @@
>
> TRACE_ENTER();
>
> - ng = avd_ng_get(&opdata->objectName);
> + ng = avd_ng_get(Amf::to_string(&opdata->objectName));
>
> while ((mod = opdata->param.modify.attrMods[i++]) != nullptr) {
> switch (mod->modType) {
> @@ -577,7 +592,7 @@
> static void ng_ccb_apply_delete_hdlr(CcbUtilOperationData_t *opdata)
> {
> TRACE_ENTER();
> - AVD_AMF_NG *ng = avd_ng_get(&opdata->objectName);
> + AVD_AMF_NG *ng = avd_ng_get(Amf::to_string(&opdata->objectName));
> if (avd_cb->avail_state_avd != SA_AMF_HA_ACTIVE) {
> //Since AMF will delete NG, clear its pointers in node.
> for (std::set<std::string>::const_iterator iter =
> ng->saAmfNGNodeList.begin();
> @@ -640,9 +655,9 @@
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - ng = ng_create(&opdata->objectName,
> opdata->param.create.attrValues);
> + ng = ng_create(Amf::to_string(&opdata->objectName),
> opdata->param.create.attrValues);
> osafassert(ng);
> - nodegroup_db->insert(Amf::to_string(&ng->name), ng);
> + nodegroup_db->insert(ng->name, ng);
> break;
> case CCBUTIL_MODIFY:
> ng_ccb_apply_modify_hdlr(opdata);
> @@ -667,16 +682,16 @@
> SaAmfAdminStateT old_state = ng->saAmfNGAdminState;
>
> osafassert(state <= SA_AMF_ADMIN_SHUTTING_DOWN);
> - TRACE_ENTER2("%s AdmState %s => %s", ng->name.value,
> + TRACE_ENTER2("%s AdmState %s => %s", ng->name.c_str(),
> avd_adm_state_name[old_state],
> avd_adm_state_name[state]);
> - saflog(LOG_NOTICE, amfSvcUsrName, "%s AdmState %s => %s",
> ng->name.value,
> + saflog(LOG_NOTICE, amfSvcUsrName, "%s AdmState %s => %s",
> ng->name.c_str(),
> avd_adm_state_name[old_state], avd_adm_state_name[state]);
> ng->saAmfNGAdminState = state;
> - avd_saImmOiRtObjectUpdate(&ng->name,
> + avd_saImmOiRtObjectUpdate(ng->name,
> const_cast<SaImmAttrNameT>("saAmfNGAdminState"),
> SA_IMM_ATTR_SAUINT32T, &ng->saAmfNGAdminState);
> m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, ng, AVSV_CKPT_NG_ADMIN_STATE);
> - avd_send_admin_state_chg_ntf(&ng->name,
> + avd_send_admin_state_chg_ntf(ng->name,
> (SaAmfNotificationMinorIdT)SA_AMF_NTFID_NG_ADMIN_STATE,
> old_state, ng->saAmfNGAdminState);
> }
> @@ -691,12 +706,12 @@
> SaAisErrorT rc = SA_AIS_OK;
>
> if (node->admin_node_pend_cbk.admin_oper != 0) {
> - LOG_NO("'%s' undergoing admin operation", node->name.value);
> + LOG_NO("'%s' undergoing admin operation", node->name.c_str());
> rc = SA_AIS_ERR_TRY_AGAIN;
> goto done;
> }
> if (node->clm_pend_inv != 0) {
> - LOG_NO("'%s' Clm operation going on", node->name.value);
> + LOG_NO("'%s' Clm operation going on", node->name.c_str());
> rc = SA_AIS_ERR_TRY_AGAIN;
> goto done;
> }
> @@ -726,7 +741,7 @@
> AVD_AVND *node = avd_node_get(*iter);
> for (const auto& su : node->list_of_su) {
> //Make a temorary list_of_SG for later verification of
> service outage.
> - tmp_sg_list.insert(Amf::to_string(&su->sg_of_su->name));
> + tmp_sg_list.insert(su->sg_of_su->name);
> }
> }
> for (std::set<std::string>::const_iterator iter = tmp_sg_list.begin();
> @@ -739,12 +754,12 @@
> //As of now, AMF will throw only warning, but operation will
> continue.
> if (sg->is_sg_serviceable_outside_ng(ng) == true)
> LOG_NO("service outage for '%s' because of
> shutdown/lock "
> - "on
> '%s'",sg->name.value,ng->name.value);
> + "on
> '%s'",sg->name.c_str(),ng->name.c_str());
>
> if ((sg->sg_redundancy_model == SA_AMF_N_WAY_REDUNDANCY_MODEL)
> ||
> (sg->sg_redundancy_model ==
> SA_AMF_NPM_REDUNDANCY_MODEL)) {
> LOG_NO("Admin op on '%s' hosting SUs of '%s' with
> redundancy '%u' "
> - "is not supported",ng->name.value,
> sg->name.value,
> + "is not supported",ng->name.c_str(),
> sg->name.c_str(),
> sg->sg_redundancy_model);
> rc = SA_AIS_ERR_NOT_SUPPORTED;
> tmp_sg_list.clear();
> @@ -767,7 +782,7 @@
> SaAisErrorT rc = SA_AIS_OK;
>
> if (ng->admin_ng_pend_cbk.admin_oper != 0) {
> - LOG_NO("'%s' is already undergoing admin operation",
> ng->name.value);
> + LOG_NO("'%s' is already undergoing admin operation",
> ng->name.c_str());
> rc = SA_AIS_ERR_TRY_AGAIN;
> goto done;
> }
> @@ -791,7 +806,7 @@
> void ng_complete_admin_op(AVD_AMF_NG *ng, SaAisErrorT result)
> {
> if (ng->admin_ng_pend_cbk.invocation != 0) {
> - TRACE("Replying to IMM for admin op on '%s'", ng->name.value);
> + TRACE("Replying to IMM for admin op on '%s'", ng->name.c_str());
> avd_saImmOiAdminOperationResult(avd_cb->immOiHandle,
> ng->admin_ng_pend_cbk.invocation, result);
> ng->admin_ng_pend_cbk.invocation = 0;
> @@ -814,10 +829,10 @@
> */
> void ng_node_lock_and_shutdown(AVD_AVND *node)
> {
> - TRACE_ENTER2("'%s'",node->name.value);
> + TRACE_ENTER2("'%s'",node->name.c_str());
> if (node->node_info.member == false) {
> node_admin_state_set(node, SA_AMF_ADMIN_LOCKED);
> - LOG_NO("%s' LOCK: CLM node is not member", node->name.value);
> + LOG_NO("%s' LOCK: CLM node is not member", node->name.c_str());
> return;
> }
> if (avd_cb->init_state == AVD_INIT_DONE) {
> @@ -834,7 +849,7 @@
> su->sg_of_su->ng_admin(su, node->admin_ng);
> }
> if (node->su_cnt_admin_oper > 0)
> -
> node->admin_ng->node_oper_list.insert(Amf::to_string(&node->name));
> + node->admin_ng->node_oper_list.insert(node->name);
> TRACE_LEAVE2("node_oper_list size:%u",node->admin_ng->oper_list_size());
> }
> /*
> @@ -848,7 +863,7 @@
> */
> static void ng_unlock(AVD_AMF_NG *ng)
> {
> - TRACE_ENTER2("'%s'",ng->name.value);
> + TRACE_ENTER2("'%s'",ng->name.c_str());
> for (std::set<std::string>::const_iterator iter =
> ng->saAmfNGNodeList.begin();
> iter != ng->saAmfNGNodeList.end(); ++iter) {
> AVD_AVND *node = avd_node_get(*iter);
> @@ -857,7 +872,7 @@
> continue;
> node_admin_state_set(node, SA_AMF_ADMIN_UNLOCKED);
> if (node->node_info.member == false) {
> - LOG_NO("'%s' UNLOCK: CLM node is not member",
> node->name.value);
> + LOG_NO("'%s' UNLOCK: CLM node is not member",
> node->name.c_str());
> continue;
> }
> node->admin_ng = ng;
> @@ -892,7 +907,7 @@
> avd_sg_app_su_inst_func(avd_cb, su->sg_of_su);
> }
> if (node->su_cnt_admin_oper > 0)
> -
> node->admin_ng->node_oper_list.insert(Amf::to_string(&node->name));
> + node->admin_ng->node_oper_list.insert(node->name);
> }
> TRACE_LEAVE2("node_oper_list size:%u",ng->oper_list_size());
> }
> @@ -920,22 +935,22 @@
> {
> uint32_t su_try_inst;
> std::set<std::string> tmp_sg_list;
> - TRACE_ENTER2("%s", ng->name.value);
> + TRACE_ENTER2("%s", ng->name.c_str());
>
> for (std::set<std::string>::const_iterator iter =
> ng->saAmfNGNodeList.begin();
> iter != ng->saAmfNGNodeList.end(); ++iter) {
> AVD_AVND *node = avd_node_get(*iter);
> node->su_cnt_admin_oper = 0;
> if (node->node_info.member == false) {
> - LOG_NO("'%s' UNLOCK_INSTANTIATION: CLM node is not
> member", node->name.value);
> + LOG_NO("'%s' UNLOCK_INSTANTIATION: CLM node is not
> member", node->name.c_str());
> continue;
> }
> if (node->saAmfNodeOperState == SA_AMF_OPERATIONAL_DISABLED) {
> - LOG_NO("'%s' UNLOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.value);
> + LOG_NO("'%s' UNLOCK_INSTANTIATION: AMF node oper state
> disabled", node->name.c_str());
> continue;
> }
> if (any_ng_in_locked_in_state(node) == true) {
> - LOG_NO("One of the node group of '%s' is in locked-in",
> node->name.value);
> + LOG_NO("One of the node group of '%s' is in locked-in",
> node->name.c_str());
> continue;
> }
> for (const auto& node_su : node->list_of_su) {
> @@ -945,7 +960,7 @@
> AVD_SG *sg = node_su->sg_of_su;
>
> std::set<std::string>::const_iterator iter1 ;
> - iter1 = tmp_sg_list.find(Amf::to_string(&sg->name));
> + iter1 = tmp_sg_list.find(sg->name);
> if (iter1 != tmp_sg_list.end())
> continue;
>
> @@ -953,7 +968,7 @@
> avd_sg_adjust_config(sg);
> for (const auto& su : sg->list_of_su) {
> //Continue if this SU is not hosted on the Node
> of NG.
> - if
> (node_in_nodegroup(Amf::to_string(&su->su_on_node->name), ng) == false)
> + if (node_in_nodegroup(su->su_on_node->name, ng)
> == false)
> continue;
>
> if ((su->saAmfSUAdminState !=
> SA_AMF_ADMIN_LOCKED_INSTANTIATION) &&
> @@ -967,7 +982,7 @@
>
> if (sg->saAmfSGNumPrefInserviceSUs >
> su_try_inst) {
> if
> (avd_snd_presence_msg(avd_cb, su, false) != NCSCC_RC_SUCCESS) {
> - LOG_NO("Failed to send
> Instantiation of '%s'", su->name.value);
> + LOG_NO("Failed to send
> Instantiation of '%s'", su->name.c_str());
> } else {
>
> su->su_on_node->su_cnt_admin_oper++;
> su_try_inst++;
> @@ -975,12 +990,12 @@
> }
> }
> }
> - tmp_sg_list.insert(Amf::to_string(&sg->name));
> + tmp_sg_list.insert(sg->name);
> }
> TRACE("node:'%s', su_cnt_admin_oper:%u",
> - node->name.value, node->su_cnt_admin_oper);
> + node->name.c_str(), node->su_cnt_admin_oper);
> if (node->su_cnt_admin_oper > 0)
> - ng->node_oper_list.insert(Amf::to_string(&node->name));
> + ng->node_oper_list.insert(node->name);
> }
> TRACE("node_oper_list size:%u",ng->oper_list_size());
> TRACE_LEAVE();
> @@ -1000,7 +1015,7 @@
> const SaImmAdminOperationParamsT_2 **params)
> {
> SaAisErrorT rc = SA_AIS_OK;
> - AVD_AMF_NG *ng = avd_ng_get(ng_name);
> + AVD_AMF_NG *ng = avd_ng_get(Amf::to_string(ng_name));
> TRACE_ENTER2("'%s', inv:'%llu',
> op:'%llu'",ng_name->value,invocation,op_id);
>
> switch(op_id) {
> @@ -1017,13 +1032,13 @@
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_LOCKED_INSTANTIATION)
> {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> "'%s' Invalid Admin Operation
> LOCK INSTANTIATION in state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> if (ng->saAmfNGAdminState != SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation
> LOCK_INSTANTIATION in state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> rc = check_red_model_service_outage(ng);
> @@ -1053,22 +1068,22 @@
> iter != ng->saAmfNGNodeList.end(); ++iter) {
> AVD_AVND *node = avd_node_get(*iter);
> if (node->node_info.member == false) {
> - LOG_NO("'%s' LOCK_INSTANTIATION: CLM node is
> not member", node->name.value);
> + LOG_NO("'%s' LOCK_INSTANTIATION: CLM node is
> not member", node->name.c_str());
> continue;
> }
> if (node->saAmfNodeOperState ==
> SA_AMF_OPERATIONAL_DISABLED) {
> - LOG_NO("'%s' LOCK_INSTANTIATION: AMF node oper
> state disabled", node->name.value);
> + LOG_NO("'%s' LOCK_INSTANTIATION: AMF node oper
> state disabled", node->name.c_str());
> continue;
> }
> if (node->saAmfNodeAdminState !=
> SA_AMF_ADMIN_LOCKED_INSTANTIATION) {
> - LOG_NO("'%s' LOCK_INSTANTIATION: AMF node admin
> state is not LOCKED", node->name.value);
> + LOG_NO("'%s' LOCK_INSTANTIATION: AMF node admin
> state is not LOCKED", node->name.c_str());
> continue;
> }
> avd_node_admin_lock_instantiation(node);
> TRACE("node:'%s', su_cnt_admin_oper:%u",
> - node->name.value,
> node->su_cnt_admin_oper);
> + node->name.c_str(),
> node->su_cnt_admin_oper);
> if (node->su_cnt_admin_oper > 0)
> -
> ng->node_oper_list.insert(Amf::to_string(&node->name));
> + ng->node_oper_list.insert(node->name);
> }
> TRACE("node_oper_list size:%u",ng->oper_list_size());
> if (ng->node_oper_list.empty())
> @@ -1086,14 +1101,14 @@
> }
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in LOCKED state",
> ng->name.value);
> + "'%s' Already in LOCKED state",
> ng->name.c_str());
> goto done;
> }
>
> if (ng->saAmfNGAdminState != SA_AMF_ADMIN_LOCKED_INSTANTIATION)
> {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation
> UNLOCK_INSTANTIATION in state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> rc = check_red_model_service_outage(ng);
> @@ -1136,13 +1151,13 @@
> }
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(avd_cb->immOiHandle,
> invocation, SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in LOCKED state",
> ng->name.value);
> + "'%s' Already in LOCKED state",
> ng->name.c_str());
> goto done;
> }
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_LOCKED_INSTANTIATION)
> {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation LOCK in
> state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> rc = check_red_model_service_outage(ng);
> @@ -1189,13 +1204,13 @@
> }
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_SHUTTING_DOWN) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in SHUTTING DOWN state",
> ng->name.value);
> + "'%s' Already in SHUTTING DOWN state",
> ng->name.c_str());
> goto done;
> }
> if (ng->saAmfNGAdminState != SA_AMF_ADMIN_UNLOCKED) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation SHUTDOWN
> in state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> rc = check_red_model_service_outage(ng);
> @@ -1253,13 +1268,13 @@
> }
> if (ng->saAmfNGAdminState == SA_AMF_ADMIN_UNLOCKED) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_NO_OP, nullptr,
> - "'%s' Already in UNLOCKED state",
> ng->name.value);
> + "'%s' Already in UNLOCKED state",
> ng->name.c_str());
> goto done;
> }
> if (ng->saAmfNGAdminState != SA_AMF_ADMIN_LOCKED) {
> report_admin_op_error(avd_cb->immOiHandle, invocation,
> SA_AIS_ERR_BAD_OPERATION, nullptr,
> "'%s' Invalid Admin Operation UNLOCK in
> state %s",
> - ng->name.value,
> avd_adm_state_name[ng->saAmfNGAdminState]);
> + ng->name.c_str(),
> avd_adm_state_name[ng->saAmfNGAdminState]);
> goto done;
> }
> ng->admin_ng_pend_cbk.invocation = invocation;
> diff --git a/osaf/services/saf/amf/amfd/nodeswbundle.cc
> b/osaf/services/saf/amf/amfd/nodeswbundle.cc
> --- a/osaf/services/saf/amf/amfd/nodeswbundle.cc
> +++ b/osaf/services/saf/amf/amfd/nodeswbundle.cc
> @@ -31,21 +31,21 @@
> *
> * @return int
> */
> -static int is_config_valid(const SaNameT *dn, const SaImmAttrValuesT_2
> **attributes,
> +static int is_config_valid(const std::string& dn, const SaImmAttrValuesT_2
> **attributes,
> const CcbUtilOperationData_t *opdata)
> {
> - const char *parent;
> + std::string parent;
> const char *path_prefix;
>
> - parent = avd_getparent((char*)dn->value);
> - if (parent == nullptr) {
> - report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn->value);
> + parent = avd_getparent(dn);
> + if (parent.empty() == true) {
> + report_ccb_validation_error(opdata, "No parent to '%s' ",
> dn.c_str());
> return 0;
> }
>
> /* Should be children to nodes */
> - if (strncmp(parent, "safAmfNode=", 11) != 0) {
> - report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", parent, dn->value);
> + if (parent.compare(0, 11, "safAmfNode=") != 0) {
> + report_ccb_validation_error(opdata, "Wrong parent '%s' to '%s'
> ", parent.c_str(), dn.c_str());
> return 0;
> }
>
> @@ -53,7 +53,7 @@
> osafassert(path_prefix);
>
> if (path_prefix[0] != '/') {
> - report_ccb_validation_error(opdata, "Invalid absolute path '%s'
> for '%s' ", path_prefix, dn->value);
> + report_ccb_validation_error(opdata, "Invalid absolute path '%s'
> for '%s' ", path_prefix, dn.c_str());
> return 0;
> }
>
> @@ -68,24 +68,26 @@
> *
> * @return int
> */
> -static int is_swbdl_delete_ok_for_node(const SaNameT *bundle_dn_to_delete,
> - const SaNameT *node_dn, const std::vector<AVD_SU*> &su_list,
> CcbUtilOperationData_t *opdata)
> +static int is_swbdl_delete_ok_for_node(const std::string&
> bundle_dn_to_delete,
> + const std::string& node_dn, const std::vector<AVD_SU*> &su_list,
> CcbUtilOperationData_t *opdata)
> {
> SaNameT bundle_dn;
> + const SaNameTWrapper node(node_dn);
>
> for (const auto& su : su_list) {
> for (const auto& comp : su->list_of_comp) {
> -
> avsv_create_association_class_dn(&comp->comp_type->saAmfCtSwBundle,
> - node_dn, "safInstalledSwBundle", &bundle_dn);
> + const SaNameTWrapper
> sw_bundle(comp->comp_type->saAmfCtSwBundle);
> + avsv_create_association_class_dn(sw_bundle,
> + node, "safInstalledSwBundle", &bundle_dn);
>
> - if (memcmp(bundle_dn_to_delete, &bundle_dn,
> sizeof(SaNameT)) == 0) {
> + if
> (bundle_dn_to_delete.compare(Amf::to_string(&bundle_dn)) == 0) {
> if (su->su_on_node->node_state ==
> AVD_AVND_STATE_ABSENT ||
> (!su->sg_of_su->sg_ncs_spec &&
> (comp->su->saAmfSUAdminState ==
> SA_AMF_ADMIN_LOCKED_INSTANTIATION))) {
> continue;
> } else {
> report_ccb_validation_error(opdata,
> "'%s' admin state is not locked instantiaion",
> - su->name.value);
> + su->name.c_str());
> return 0;
> }
> }
> @@ -101,19 +103,19 @@
> *
> * @return int
> */
> -static int is_swbdl_delete_ok(const SaNameT *bundle_dn,
> CcbUtilOperationData_t *opdata)
> +static int is_swbdl_delete_ok(const std::string& bundle_dn,
> CcbUtilOperationData_t *opdata)
> {
> const AVD_AVND *node;
> - SaNameT node_dn;
> + std::string node_dn;
>
> /* Check if any comps are referencing this bundle */
> - avsv_sanamet_init(bundle_dn, &node_dn, "safAmfNode=");
> - node = avd_node_get(&node_dn);
> + avsv_sanamet_init(bundle_dn, node_dn, "safAmfNode=");
> + node = avd_node_get(node_dn);
>
> - if (!is_swbdl_delete_ok_for_node(bundle_dn, &node_dn,
> node->list_of_ncs_su, opdata))
> + if (!is_swbdl_delete_ok_for_node(bundle_dn, node_dn,
> node->list_of_ncs_su, opdata))
> return 0;
>
> - if (!is_swbdl_delete_ok_for_node(bundle_dn, &node_dn, node->list_of_su,
> opdata))
> + if (!is_swbdl_delete_ok_for_node(bundle_dn, node_dn, node->list_of_su,
> opdata))
> return 0;
>
> return 1;
> @@ -127,14 +129,14 @@
>
> switch (opdata->operationType) {
> case CCBUTIL_CREATE:
> - if (is_config_valid(&opdata->objectName,
> opdata->param.create.attrValues, opdata))
> + if (is_config_valid(Amf::to_string(&opdata->objectName),
> opdata->param.create.attrValues, opdata))
> rc = SA_AIS_OK;
> break;
> case CCBUTIL_MODIFY:
> report_ccb_validation_error(opdata, "Modification of
> SaAmfNodeSwBundle not supported");
> break;
> case CCBUTIL_DELETE:
> - if (is_swbdl_delete_ok(&opdata->objectName, opdata))
> + if (is_swbdl_delete_ok(Amf::to_string(&opdata->objectName),
> opdata))
> rc = SA_AIS_OK;
> break;
> default:
> diff --git a/osaf/services/saf/amf/amfd/ntf.cc
> b/osaf/services/saf/amf/amfd/ntf.cc
> --- a/osaf/services/saf/amf/amfd/ntf.cc
> +++ b/osaf/services/saf/amf/amfd/ntf.cc
> @@ -39,22 +39,23 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_comp_inst_failed_alarm(const SaNameT *comp_name, const SaNameT
> *node_name)
> +void avd_send_comp_inst_failed_alarm(const std::string& comp_name, const
> std::string& node_name)
> {
> char add_text[ADDITION_TEXT_LENGTH];
> + const SaNameTWrapper node(node_name);
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "Instantiation of Component %s
> failed",
> - comp_name->value);
> + comp_name.c_str());
> sendAlarmNotificationAvd(avd_cb,
> - *comp_name,
> + comp_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_COMP_INSTANTIATION_FAILED,
> SA_NTF_SOFTWARE_ERROR,
> SA_NTF_SEVERITY_MAJOR,
> - (NCSCONTEXT)node_name,
> + (NCSCONTEXT)(static_cast<const
> SaNameT*>(node)),
> true /* add_info is node_name */);
> }
>
> @@ -71,22 +72,23 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_comp_clean_failed_alarm(const SaNameT *comp_name, const
> SaNameT *node_name)
> +void avd_send_comp_clean_failed_alarm(const std::string& comp_name, const
> std::string& node_name)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "Cleanup of Component %s
> failed",
> - comp_name->value);
> + comp_name.c_str());
> + const SaNameTWrapper node(node_name);
> sendAlarmNotificationAvd(avd_cb,
> - *comp_name,
> + comp_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_COMP_CLEANUP_FAILED,
> SA_NTF_SOFTWARE_ERROR,
> SA_NTF_SEVERITY_MAJOR,
> - (NCSCONTEXT)node_name,
> + (NCSCONTEXT)static_cast<const SaNameT*>(node),
> true /* add_info is node_name */);
>
> }
> @@ -105,16 +107,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_cluster_reset_alarm(const SaNameT *comp_name)
> +void avd_send_cluster_reset_alarm(const std::string& comp_name)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "Failure of Component %s
> triggered"
> - " cluster reset", comp_name->value);
> + " cluster reset", comp_name.c_str());
> sendAlarmNotificationAvd(avd_cb,
> - *comp_name,
> + comp_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_CLUSTER_RESET,
> @@ -136,16 +138,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_si_unassigned_alarm(const SaNameT *si_name)
> +void avd_send_si_unassigned_alarm(const std::string& si_name)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "SI designated by %s has no
> current "
> - "active assignments to any SU", si_name->value);
> + "active assignments to any SU", si_name.c_str());
> sendAlarmNotificationAvd(avd_cb,
> - *si_name,
> + si_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_SI_UNASSIGNED,
> @@ -168,16 +170,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_comp_proxy_status_unproxied_alarm(const SaNameT *comp_name)
> +void avd_send_comp_proxy_status_unproxied_alarm(const std::string& comp_name)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "Component %s become orphan",
> - comp_name->value);
> + comp_name.c_str());
> sendAlarmNotificationAvd(avd_cb,
> - *comp_name,
> + comp_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_COMP_UNPROXIED,
> @@ -202,16 +204,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_admin_state_chg_ntf(const SaNameT *name,
> SaAmfNotificationMinorIdT minor_id,
> +void avd_send_admin_state_chg_ntf(const std::string& name,
> SaAmfNotificationMinorIdT minor_id,
> SaAmfAdminStateT old_state, SaAmfAdminStateT new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Admin state of %s changed",
> name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Admin state of %s changed",
> name.c_str());
> sendStateChangeNotificationAvd(avd_cb,
> - *name,
> + name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> minor_id,
> @@ -239,16 +241,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_oper_chg_ntf(const SaNameT *name, SaAmfNotificationMinorIdT
> minor_id,
> +void avd_send_oper_chg_ntf(const std::string& name,
> SaAmfNotificationMinorIdT minor_id,
> SaAmfOperationalStateT old_state, SaAmfOperationalStateT
> new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Oper state %s changed",
> name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Oper state %s changed",
> name.c_str());
> sendStateChangeNotificationAvd(avd_cb,
> - *name,
> + name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> minor_id,
> @@ -274,7 +276,7 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_su_pres_state_chg_ntf(const SaNameT *su_name,
> +void avd_send_su_pres_state_chg_ntf(const std::string& su_name,
> SaAmfPresenceStateT old_state, SaAmfPresenceStateT new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
> @@ -282,9 +284,9 @@
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "Presence state of SU %s
> changed",
> - su_name->value);
> + su_name.c_str());
> sendStateChangeNotificationAvd(avd_cb,
> - *su_name,
> + su_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_SU_PRESENCE_STATE,
> @@ -312,19 +314,20 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_su_ha_state_chg_ntf(const SaNameT *su_name,
> - const SaNameT *si_name,
> +void avd_send_su_ha_state_chg_ntf(const std::string& su_name,
> + const std::string& si_name,
> SaAmfHAStateT old_state,
> SaAmfHAStateT new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
> + const SaNameTWrapper si(si_name);
>
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "The HA state of SI %s
> assigned to SU %s changed",
> - si_name->value, su_name->value);
> + si_name.c_str(), su_name.c_str());
> sendStateChangeNotificationAvd(avd_cb,
> - *su_name,
> + su_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_SU_SI_HA_STATE,
> @@ -332,7 +335,7 @@
> SA_AMF_HA_STATE,
> old_state,
> new_state,
> - (NCSCONTEXT)si_name,
> + (NCSCONTEXT)static_cast<const
> SaNameT*>(si),
> true /* Si_name */);
>
> TRACE_LEAVE();
> @@ -353,7 +356,7 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_su_ha_readiness_state_chg_ntf(const SaNameT *su_name, const
> SaNameT *si_name,
> +void avd_send_su_ha_readiness_state_chg_ntf(const std::string& su_name,
> const std::string& si_name,
> SaAmfHAReadinessStateT old_state, SaAmfHAReadinessStateT
> new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
> @@ -361,9 +364,10 @@
> TRACE_ENTER();
>
> snprintf(add_text, ADDITION_TEXT_LENGTH, "The HA readiness state of SI
> %s assigned"
> - " to SU %s changed", si_name->value, su_name->value);
> + " to SU %s changed", si_name.c_str(), su_name.c_str());
> + const SaNameTWrapper si(si_name);
> sendStateChangeNotificationAvd(avd_cb,
> - *su_name,
> + su_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_SU_SI_HA_READINESS_STATE,
> @@ -371,7 +375,7 @@
> SA_AMF_HA_READINESS_STATE,
> old_state,
> new_state,
> - (NCSCONTEXT)si_name,
> + (NCSCONTEXT)static_cast<const
> SaNameT*>(si),
> true /* Si_name */);
>
> }
> @@ -389,16 +393,16 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_si_assigned_ntf(const SaNameT *si_name, SaAmfAssignmentStateT
> old_state,
> +void avd_send_si_assigned_ntf(const std::string& si_name,
> SaAmfAssignmentStateT old_state,
> SaAmfAssignmentStateT new_state)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "The Assignment state of SI %s
> changed", si_name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "The Assignment state of SI %s
> changed", si_name.c_str());
> sendStateChangeNotificationAvd(avd_cb,
> - *si_name,
> + si_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_SI_ASSIGNMENT_STATE,
> @@ -426,17 +430,17 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_send_comp_proxy_status_proxied_ntf(const SaNameT *comp_name,
> +void avd_send_comp_proxy_status_proxied_ntf(const std::string& comp_name,
> SaAmfProxyStatusT old_status, SaAmfProxyStatusT new_status)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
>
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Component %s is now proxied",
> comp_name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Component %s is now proxied",
> comp_name.c_str());
>
> sendStateChangeNotificationAvd(avd_cb,
> - *comp_name,
> + comp_name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> SA_AMF_NTFID_COMP_PROXY_STATUS,
> @@ -463,15 +467,15 @@
>
> Notes :
>
> *****************************************************************************/
> -void avd_alarm_clear(const SaNameT *name, SaUint16T minorId, uint32_t
> probableCause)
> +void avd_alarm_clear(const std::string& name, SaUint16T minorId, uint32_t
> probableCause)
> {
> char add_text[ADDITION_TEXT_LENGTH];
>
> TRACE_ENTER();
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Previous raised alarm of %s
> is now cleared", name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Previous raised alarm of %s
> is now cleared", name.c_str());
>
> sendAlarmNotificationAvd(avd_cb,
> - *name,
> + name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> minorId,
> @@ -552,7 +556,7 @@
> }
>
> uint32_t sendAlarmNotificationAvd(AVD_CL_CB *avd_cb,
> - const SaNameT &ntf_object,
> + const std::string& ntf_object,
> SaUint8T *add_text,
> SaUint16T majorId,
> SaUint16T minorId,
> @@ -565,10 +569,11 @@
> SaNtfAlarmNotificationT myAlarmNotification;
> SaUint16T add_info_items = 0;
> SaUint64T allocation_size = 0;
> + const SaNameTWrapper object_name(ntf_object);
>
> if (!avd_cb->active_services_exist) {
> // TODO #3051
> - LOG_ER("Alarm lost for %s", ntf_object.value);
> + LOG_ER("Alarm lost for %s", ntf_object.c_str());
> return status;
> }
>
> @@ -600,7 +605,7 @@
>
> status =
> fill_ntf_header_part_avd(&myAlarmNotification.notificationHeader,
> SA_NTF_ALARM_PROCESSING,
> - ntf_object,
> + object_name,
> add_text,
> majorId,
> minorId,
> @@ -638,7 +643,7 @@
> }
>
> uint32_t sendStateChangeNotificationAvd(AVD_CL_CB *avd_cb,
> - const SaNameT &ntf_object,
> + const std::string& ntf_object,
> SaUint8T *add_text,
> SaUint16T majorId,
> SaUint16T minorId,
> @@ -654,10 +659,11 @@
> SaUint16T add_info_items = 0;
> SaUint64T allocation_size = 0;
> SaUint16T num_of_changedStates = 1;
> + const SaNameTWrapper object_name(ntf_object);
>
> if (!avd_cb->active_services_exist) {
> // TODO #3051
> - LOG_WA("State change notification lost for '%s'",
> ntf_object.value);
> + LOG_WA("State change notification lost for '%s'",
> ntf_object.c_str());
> return status;
> }
> if (additional_info_is_present == true) {
> @@ -692,7 +698,7 @@
>
> status =
> fill_ntf_header_part_avd(&myStateNotification.notificationHeader,
> SA_NTF_OBJECT_STATE_CHANGE,
> - ntf_object,
> + object_name,
> add_text,
> majorId,
> minorId,
> @@ -736,7 +742,7 @@
> }
>
>
> -void avd_send_error_report_ntf(const SaNameT *name,
> SaAmfRecommendedRecoveryT recovery)
> +void avd_send_error_report_ntf(const std::string& name,
> SaAmfRecommendedRecoveryT recovery)
> {
>
> TRACE_ENTER();
> @@ -745,18 +751,18 @@
> bool additional_info_is_present;
>
> if ((recovery >= SA_AMF_NO_RECOMMENDATION) && (recovery <
> SA_AMF_CONTAINER_RESTART)) {
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Error reported on %s
> with recovery %s", name->value,
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Error reported on %s
> with recovery %s", name.c_str(),
> amf_recovery[recovery]);
> minorid = SA_AMF_NTFID_ERROR_REPORT;
> additional_info_is_present = true;
> } else {
> - snprintf(add_text, ADDITION_TEXT_LENGTH, "Error reported on %s
> is now cleared", name->value);
> + snprintf(add_text, ADDITION_TEXT_LENGTH, "Error reported on %s
> is now cleared", name.c_str());
> minorid = SA_AMF_NTFID_ERROR_CLEAR;
> additional_info_is_present = false;
> }
>
> sendStateChangeNotificationAvd(avd_cb,
> - *name,
> + name,
> (SaUint8T*)add_text,
> SA_SVC_AMF,
> minorid,
> diff --git a/osaf/services/saf/amf/amfd/pg.cc
> b/osaf/services/saf/amf/amfd/pg.cc
> --- a/osaf/services/saf/amf/amfd/pg.cc
> +++ b/osaf/services/saf/amf/amfd/pg.cc
> @@ -170,7 +170,7 @@
> csi_node; csi_node = (AVD_PG_CSI_NODE
> *)m_NCS_DBLIST_FIND_NEXT(&csi_node->csi_dll_node)) {
> rc = avd_snd_pg_upd_msg(cb, csi_node->node, comp_csi,
> (true == is_rmv) ?
> SA_AMF_PROTECTION_GROUP_REMOVED :
> - SA_AMF_PROTECTION_GROUP_ADDED, 0);
> + SA_AMF_PROTECTION_GROUP_ADDED,
> std::string(""));
> } /* for */
> TRACE_LEAVE2("%u", rc);
> return rc;
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel