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

Reply via email to