osaf/services/saf/amf/amfd/include/su.h | 3 +-
osaf/services/saf/amf/amfd/ndfsm.cc | 2 +-
osaf/services/saf/amf/amfd/ndproc.cc | 2 +-
osaf/services/saf/amf/amfd/sgproc.cc | 19 ++++++++---------
osaf/services/saf/amf/amfd/su.cc | 36 ++++++++++++++++++--------------
5 files changed, 33 insertions(+), 29 deletions(-)
Change function avd_su_oper_state_set into a method, use it and remove the old
function.
diff --git a/osaf/services/saf/amf/amfd/include/su.h
b/osaf/services/saf/amf/amfd/include/su.h
--- a/osaf/services/saf/amf/amfd/include/su.h
+++ b/osaf/services/saf/amf/amfd/include/su.h
@@ -109,6 +109,8 @@ class AVD_SU {
AVD_SU *avnd_list_su_next; /* the next SU in the AvND */
struct avd_sutype *su_type;
AVD_SU *su_list_su_type_next;
+
+ void oper_state_set(SaAmfOperationalStateT state);
};
typedef struct {
@@ -202,7 +204,6 @@ void avd_su_del_avnd_list(AVD_CL_CB *cb,
extern SaAisErrorT avd_su_config_get(const SaNameT *sg_name, struct avd_sg_tag
*sg);
extern void avd_su_pres_state_set(AVD_SU *su, SaAmfPresenceStateT pres_state);
-extern void avd_su_oper_state_set(AVD_SU *su, SaAmfOperationalStateT
oper_state);
extern void avd_su_readiness_state_set(AVD_SU *su, SaAmfReadinessStateT
readiness_state);
extern void avd_su_admin_state_set(AVD_SU *su, SaAmfAdminStateT admin_state);
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
@@ -207,7 +207,7 @@ void avd_nd_ncs_su_assigned(AVD_CL_CB *c
/* Make application SUs operational state ENABLED */
for (su = avnd->list_of_su; su != NULL; su =
su->avnd_list_su_next) {
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_ENABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_ENABLED);
AVD_COMP *comp;
for (comp = su->list_of_comp; comp; comp =
comp->su_comp_next)
avd_comp_oper_state_set(comp,
SA_AMF_OPERATIONAL_ENABLED);
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
@@ -727,7 +727,7 @@ void avd_data_update_req_evh(AVD_CL_CB *
TRACE("oper pres state");
if
(n2d_msg->msg_info.n2d_data_req.param_info.value_len == sizeof(uint32_t)) {
l_val = ntohl(*((uint32_t
*)&n2d_msg->msg_info.n2d_data_req.param_info.value[0]));
- avd_su_oper_state_set(su,
static_cast<SaAmfOperationalStateT>(l_val));
+
su->oper_state_set(static_cast<SaAmfOperationalStateT>(l_val));
}
break;
case saAmfSUPresenceState_ID:
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
@@ -290,7 +290,7 @@ static uint32_t sg_su_failover_func(AVD_
goto done;
}
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_su_readiness_state_set(su, SA_AMF_READINESS_OUT_OF_SERVICE);
if (su->saAmfSUAdminState == SA_AMF_ADMIN_LOCKED)
su_complete_admin_op(su, SA_AIS_OK);
@@ -449,7 +449,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
(n2d_msg->msg_info.n2d_opr_state.node_oper_state ==
SA_AMF_OPERATIONAL_DISABLED) &&
(n2d_msg->msg_info.n2d_opr_state.rec_rcvr.saf_amf ==
SA_AMF_NODE_FAILFAST)) {
/* as of now do the same opearation as ncs su failure */
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
if ((node->type == AVSV_AVND_CARD_SYS_CON) &&
(node->node_info.nodeId == cb->node_id_avd)) {
TRACE("Component in %s requested FAILFAST",
su->name.value);
}
@@ -470,7 +470,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
/* if the SU is NCS SU, call the node FSM routine to handle the
failure.
*/
if (su->sg_of_su->sg_ncs_spec == true) {
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_nd_ncs_su_failed(cb, node);
goto done;
}
@@ -480,7 +480,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
*/
if (cb->init_state == AVD_INIT_DONE) {
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_su_readiness_state_set(su,
SA_AMF_READINESS_OUT_OF_SERVICE);
if (n2d_msg->msg_info.n2d_opr_state.node_oper_state ==
SA_AMF_OPERATIONAL_DISABLED) {
/* Mark the node operational state as disable
and make all the
@@ -496,7 +496,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
} /* if
(n2d_msg->msg_info.n2d_opr_state.node_oper_state ==
SA_AMF_OPERATIONAL_DISABLED) */
} /* if(cb->init_state == AVD_INIT_DONE) */
else if (cb->init_state == AVD_APP_STATE) {
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_su_readiness_state_set(su,
SA_AMF_READINESS_OUT_OF_SERVICE);
if (n2d_msg->msg_info.n2d_opr_state.node_oper_state ==
SA_AMF_OPERATIONAL_DISABLED) {
/* Mark the node operational state as disable
and make all the
@@ -646,7 +646,7 @@ void avd_su_oper_state_evh(AVD_CL_CB *cb
/* else if(cb->init_state == AVD_APP_STATE) */
} /* if (n2d_msg->msg_info.n2d_opr_state.su_oper_state ==
SA_AMF_OPERATIONAL_DISABLED) */
else if (n2d_msg->msg_info.n2d_opr_state.su_oper_state ==
SA_AMF_OPERATIONAL_ENABLED) {
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_ENABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_ENABLED);
/* if the SU is NCS SU, mark the SU readiness state as in
service and call
* the SG FSM.
*/
@@ -1289,8 +1289,7 @@ void avd_sg_app_node_su_inst_func(AVD_CL
}
} else {
- /* mark the non preinstatiable as
enable. */
- avd_su_oper_state_set(i_su,
SA_AMF_OPERATIONAL_ENABLED);
+
i_su->oper_state_set(SA_AMF_OPERATIONAL_ENABLED);
m_AVD_GET_SU_NODE_PTR(cb, i_su,
su_node_ptr);
@@ -1550,7 +1549,7 @@ void avd_node_down_mw_susi_failover(AVD_
i_su = avnd->list_of_ncs_su;
osafassert(i_su != 0);
while (i_su != NULL) {
- avd_su_oper_state_set(i_su, SA_AMF_OPERATIONAL_DISABLED);
+ i_su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_su_pres_state_set(i_su, SA_AMF_PRESENCE_UNINSTANTIATED);
avd_su_readiness_state_set(i_su,
SA_AMF_READINESS_OUT_OF_SERVICE);
su_complete_admin_op(i_su, SA_AIS_ERR_TIMEOUT);
@@ -1601,7 +1600,7 @@ void avd_node_down_appl_susi_failover(AV
*/
i_su = avnd->list_of_su;
while (i_su != NULL) {
- avd_su_oper_state_set(i_su, SA_AMF_OPERATIONAL_DISABLED);
+ i_su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
avd_su_pres_state_set(i_su, SA_AMF_PRESENCE_UNINSTANTIATED);
avd_su_readiness_state_set(i_su,
SA_AMF_READINESS_OUT_OF_SERVICE);
diff --git a/osaf/services/saf/amf/amfd/su.cc b/osaf/services/saf/amf/amfd/su.cc
--- a/osaf/services/saf/amf/amfd/su.cc
+++ b/osaf/services/saf/amf/amfd/su.cc
@@ -660,9 +660,9 @@ static void su_add_to_model(AVD_SU *su)
goto done;
}
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_ENABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_ENABLED);
} else
- avd_su_oper_state_set(su, SA_AMF_OPERATIONAL_DISABLED);
+ su->oper_state_set(SA_AMF_OPERATIONAL_DISABLED);
}
done:
@@ -776,27 +776,31 @@ void avd_su_pres_state_set(AVD_SU *su, S
m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, su, AVSV_CKPT_SU_PRES_STATE);
}
-void avd_su_oper_state_set(AVD_SU *su, SaAmfOperationalStateT oper_state)
-{
- SaAmfOperationalStateT old_state = su->saAmfSUOperState;
+void AVD_SU::oper_state_set(SaAmfOperationalStateT oper_state) {
+ SaAmfOperationalStateT old_state = this->saAmfSUOperState;
- if (su->saAmfSUOperState == oper_state)
+ if (this->saAmfSUOperState == oper_state)
return;
+
osafassert(oper_state <= SA_AMF_OPERATIONAL_DISABLED);
- TRACE_ENTER2("'%s' %s => %s", su->name.value,
avd_oper_state_name[su->saAmfSUOperState],
- avd_oper_state_name[oper_state]);
+ TRACE_ENTER2("'%s' %s => %s", this->name.value,
+ avd_oper_state_name[this->saAmfSUOperState],
+ avd_oper_state_name[oper_state]);
- saflog(LOG_NOTICE, amfSvcUsrName, "%s OperState %s => %s",
su->name.value,
- avd_oper_state_name[su->saAmfSUOperState],
avd_oper_state_name[oper_state]);
+ saflog(LOG_NOTICE, amfSvcUsrName, "%s OperState %s => %s",
this->name.value,
+ avd_oper_state_name[this->saAmfSUOperState],
+ avd_oper_state_name[oper_state]);
- su->saAmfSUOperState = oper_state;
+ this->saAmfSUOperState = oper_state;
- /* alarm & notifications */
- avd_send_oper_chg_ntf(&su->name, SA_AMF_NTFID_SU_OP_STATE, old_state,
su->saAmfSUOperState);
+ avd_send_oper_chg_ntf(&this->name, SA_AMF_NTFID_SU_OP_STATE, old_state,
+ this->saAmfSUOperState);
- avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUOperState",
- SA_IMM_ATTR_SAUINT32T, &su->saAmfSUOperState);
- m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, su, AVSV_CKPT_SU_OPER_STATE);
+ avd_saImmOiRtObjectUpdate(&this->name, "saAmfSUOperState",
+ SA_IMM_ATTR_SAUINT32T, &this->saAmfSUOperState);
+ m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, AVSV_CKPT_SU_OPER_STATE);
+
+ TRACE_LEAVE();
}
/**
------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel