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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel