osaf/services/saf/amf/amfd/comp.cc      |  11 ++++++-----
 osaf/services/saf/amf/amfd/include/su.h |   8 +++++---
 osaf/services/saf/amf/amfd/su.cc        |   6 ++----
 3 files changed, 13 insertions(+), 12 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/comp.cc 
b/osaf/services/saf/amf/amfd/comp.cc
--- a/osaf/services/saf/amf/amfd/comp.cc
+++ b/osaf/services/saf/amf/amfd/comp.cc
@@ -188,8 +188,9 @@ AVD_COMP *avd_comp_getnext(const SaNameT
 
 void avd_comp_delete(AVD_COMP *comp)
 {
+       AVD_SU *su = comp->su;
        m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, comp, 
AVSV_CKPT_AVD_COMP_CONFIG);
-       avd_su_remove_comp(comp);
+       su->remove_comp(comp);
        avd_comptype_remove_comp(comp);
        (void)ncs_patricia_tree_del(&comp_db, &comp->tree_node);
        delete comp;
@@ -219,7 +220,7 @@ static void comp_add_to_model(AVD_COMP *
        comp->comp_type = avd_comptype_get(&comp->saAmfCompType);
        osafassert(comp->comp_type);
        avd_comptype_add_comp(comp);
-       avd_su_add_comp(comp);
+       su->add_comp(comp);
 
        /* check if the
         * corresponding node is UP send the component information
@@ -238,7 +239,7 @@ static void comp_add_to_model(AVD_COMP *
                } else {
                        /* This is not a valid external component. External SU 
has 
                           been assigned a cluster component. */
-                       avd_su_remove_comp(comp);
+                       su->remove_comp(comp);
                        LOG_ER("Not A Valid External Component: Category 
'%u'configured",
                                comp->comp_info.category);
                        return;
@@ -1199,9 +1200,9 @@ static void comp_ccb_apply_modify_hdlr(s
                                        comp->comp_info.inst_level, 
*((SaUint32T *)value), comp->comp_info.name.value);
                        comp->comp_info.inst_level = *((SaUint32T *)value);
                        
-                       avd_su_remove_comp(comp);
+                       su->remove_comp(comp);
                        comp->su = su;
-                       avd_su_add_comp(comp);
+                       su->add_comp(comp);
                        
                } else if (!strcmp(attribute->attrName, 
"saAmfCompNumMaxInstantiateWithoutDelay")) {
 
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
@@ -82,12 +82,17 @@ class AVD_SU {
        struct avd_sg_tag *sg_of_su;    /* the service group of this SU */
        struct avd_avnd_tag *su_on_node;        /*  the node on which this SU 
resides */
        struct avd_su_si_rel_tag *list_of_susi; /* the list of su si 
relationship elements */
+
+       // TODO: use some container for the comp list
        struct avd_comp_tag *list_of_comp;      /* the list of  components in 
this SU */
+
        AVD_SU *sg_list_su_next;        /* the next SU in the SG */
        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 add_comp(struct avd_comp_tag *comp);
+       void remove_comp(struct avd_comp_tag *comp);
        void set_admin_state(SaAmfAdminStateT admin_state);
        void set_pres_state(SaAmfPresenceStateT state);
        void set_readiness_state(SaAmfReadinessStateT readiness_state);
@@ -148,9 +153,6 @@ extern AVD_SU *avd_su_new(const SaNameT 
  */
 extern void avd_su_delete(AVD_SU *su);
 
-extern void avd_su_remove_comp(struct avd_comp_tag *comp);
-extern void avd_su_add_comp(struct avd_comp_tag *comp);
-
 /**
  * Get SUs from IMM and create internal objects
  * 
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
@@ -123,8 +123,7 @@ uint32_t avd_su_get_current_no_of_assign
        return curr_assignment_cnt;
 }
 
-void avd_su_remove_comp(AVD_COMP *comp)
-{
+void AVD_SU::remove_comp(AVD_COMP *comp) {
        AVD_COMP *i_comp = NULL;
        AVD_COMP *prev_comp = NULL;
        AVD_SU *su_ref = comp->su;
@@ -159,8 +158,7 @@ void avd_su_remove_comp(AVD_COMP *comp)
        }
 }
 
-void avd_su_add_comp(AVD_COMP *comp)
-{
+void AVD_SU::add_comp(AVD_COMP *comp) {
        AVD_COMP *i_comp = comp->su->list_of_comp;
        AVD_COMP *prev_comp = NULL; 
        bool found_pos= false;

------------------------------------------------------------------------------
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