osaf/services/saf/amf/amfd/include/su.h | 2 +- osaf/services/saf/amf/amfd/ndproc.cc | 2 +- osaf/services/saf/amf/amfd/sgproc.cc | 4 ++-- osaf/services/saf/amf/amfd/su.cc | 30 ++++++++++++++---------------- 4 files changed, 18 insertions(+), 20 deletions(-)
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 @@ -88,6 +88,7 @@ class AVD_SU { struct avd_sutype *su_type; AVD_SU *su_list_su_type_next; + void set_pres_state(SaAmfPresenceStateT state); void set_readiness_state(SaAmfReadinessStateT readiness_state); void set_oper_state(SaAmfOperationalStateT state); void set_oper_state(uint32_t state) { @@ -156,7 +157,6 @@ extern void avd_su_add_comp(struct avd_c */ 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_admin_state_set(AVD_SU *su, SaAmfAdminStateT admin_state); /** 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 @@ -734,7 +734,7 @@ void avd_data_update_req_evh(AVD_CL_CB * TRACE("su 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_pres_state_set(su, static_cast<SaAmfPresenceStateT>(l_val)); + su->set_pres_state(static_cast<SaAmfPresenceStateT>(l_val)); /* Send response to any admin callbacks delivered by IMM if not sent already. */ if (su->su_on_node->admin_node_pend_cbk.invocation != 0) { 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 @@ -1552,7 +1552,7 @@ void avd_node_down_mw_susi_failover(AVD_ osafassert(i_su != 0); while (i_su != NULL) { i_su->set_oper_state(SA_AMF_OPERATIONAL_DISABLED); - avd_su_pres_state_set(i_su, SA_AMF_PRESENCE_UNINSTANTIATED); + i_su->set_pres_state(SA_AMF_PRESENCE_UNINSTANTIATED); i_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE); su_complete_admin_op(i_su, SA_AIS_ERR_TIMEOUT); su_disable_comps(i_su, SA_AIS_ERR_TIMEOUT); @@ -1603,7 +1603,7 @@ void avd_node_down_appl_susi_failover(AV i_su = avnd->list_of_su; while (i_su != NULL) { i_su->set_oper_state(SA_AMF_OPERATIONAL_DISABLED); - avd_su_pres_state_set(i_su, SA_AMF_PRESENCE_UNINSTANTIATED); + i_su->set_pres_state(SA_AMF_PRESENCE_UNINSTANTIATED); i_su->set_readiness_state(SA_AMF_READINESS_OUT_OF_SERVICE); /* Check if there was any admin operations going on this SU. */ 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 @@ -712,34 +712,32 @@ SaAisErrorT avd_su_config_get(const SaNa return error; } -void avd_su_pres_state_set(AVD_SU *su, SaAmfPresenceStateT pres_state) -{ - SaAmfPresenceStateT old_state; - - if (su->saAmfSUPresenceState == pres_state) +void AVD_SU::set_pres_state(SaAmfPresenceStateT pres_state) { + if (saAmfSUPresenceState == pres_state) return; osafassert(pres_state <= SA_AMF_PRESENCE_TERMINATION_FAILED); - TRACE_ENTER2("'%s' %s => %s", su->name.value, - avd_pres_state_name[su->saAmfSUPresenceState], + TRACE_ENTER2("'%s' %s => %s", name.value, + avd_pres_state_name[saAmfSUPresenceState], avd_pres_state_name[pres_state]); - old_state = su->saAmfSUPresenceState; - su->saAmfSUPresenceState = pres_state; + SaAmfPresenceStateT old_state = saAmfSUPresenceState; + saAmfSUPresenceState = pres_state; /* only log for certain changes, see notifications in spec */ if (pres_state == SA_AMF_PRESENCE_UNINSTANTIATED || pres_state == SA_AMF_PRESENCE_INSTANTIATED || pres_state == SA_AMF_PRESENCE_RESTARTING) { - saflog(LOG_NOTICE, amfSvcUsrName, "%s PresenceState %s => %s", su->name.value, - avd_pres_state_name[old_state], avd_pres_state_name[su->saAmfSUPresenceState]); + saflog(LOG_NOTICE, amfSvcUsrName, "%s PresenceState %s => %s", + name.value, avd_pres_state_name[old_state], + avd_pres_state_name[saAmfSUPresenceState]); - /* alarm & notifications */ - avd_send_su_pres_state_chg_ntf(&su->name, old_state, su->saAmfSUPresenceState); + avd_send_su_pres_state_chg_ntf(&name, old_state, + saAmfSUPresenceState); } - avd_saImmOiRtObjectUpdate(&su->name, "saAmfSUPresenceState", - SA_IMM_ATTR_SAUINT32T, &su->saAmfSUPresenceState); - m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, su, AVSV_CKPT_SU_PRES_STATE); + avd_saImmOiRtObjectUpdate(&name, "saAmfSUPresenceState", + SA_IMM_ATTR_SAUINT32T, &saAmfSUPresenceState); + m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, this, AVSV_CKPT_SU_PRES_STATE); } void AVD_SU::set_oper_state(SaAmfOperationalStateT oper_state) { ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel