osaf/services/saf/amf/amfd/include/proc.h    |   5 -----
 osaf/services/saf/amf/amfd/include/sg.h      |  14 ++++++++++++--
 osaf/services/saf/amf/amfd/sg_2n_fsm.cc      |  22 +---------------------
 osaf/services/saf/amf/amfd/sg_nored_fsm.cc   |  22 +---------------------
 osaf/services/saf/amf/amfd/sg_npm_fsm.cc     |  22 +---------------------
 osaf/services/saf/amf/amfd/sg_nway_fsm.cc    |  19 +------------------
 osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc |  22 +---------------------
 7 files changed, 17 insertions(+), 109 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/include/proc.h 
b/osaf/services/saf/amf/amfd/include/proc.h
--- a/osaf/services/saf/amf/amfd/include/proc.h
+++ b/osaf/services/saf/amf/amfd/include/proc.h
@@ -53,7 +53,6 @@ uint32_t avd_sg_susi_mod_snd_honouring_s
 uint32_t avd_sg_su_si_del_snd(AVD_CL_CB *cb, AVD_SU *su);
 
 /* The following are for 2N redundancy model */
-uint32_t avd_sg_2n_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_2n_su_fault_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_2n_susi_sucss_func(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL 
*susi,
                                         AVSV_SUSI_ACT act, SaAmfHAStateT 
state);
@@ -64,7 +63,6 @@ void avd_sg_2n_init(AVD_SG *sg);
 
 /* The following are for N-Way redundancy model */
 uint32_t avd_sg_nway_si_assign(AVD_CL_CB *, AVD_SG *);
-uint32_t avd_sg_nway_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nway_su_fault_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nway_susi_sucss_func(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL 
*susi,
                                           AVSV_SUSI_ACT act, SaAmfHAStateT 
state);
@@ -74,7 +72,6 @@ uint32_t avd_sg_nway_su_admin_fail(AVD_C
 void avd_sg_nway_init(AVD_SG *sg);
 
 /* The following are for N+M redundancy model */
-uint32_t avd_sg_npm_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_npm_su_fault_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_npm_susi_sucss_func(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL 
*susi,
                                          AVSV_SUSI_ACT act, SaAmfHAStateT 
state);
@@ -84,7 +81,6 @@ uint32_t avd_sg_npm_su_admin_fail(AVD_CL
 void avd_sg_npm_init(AVD_SG *sg);
 
 /* The following are for No redundancy model */
-uint32_t avd_sg_nored_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nored_su_fault_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nored_susi_sucss_func(AVD_CL_CB *cb, AVD_SU *su, AVD_SU_SI_REL 
*susi,
                                            AVSV_SUSI_ACT act, SaAmfHAStateT 
state);
@@ -95,7 +91,6 @@ void avd_sg_nored_init(AVD_SG *sg);
 
 /* The following are for N-way Active redundancy model */
 AVD_SU *avd_sg_nacvred_su_chose_asgn(AVD_CL_CB *cb, AVD_SG *sg);
-uint32_t avd_sg_nacvred_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nacvred_su_fault_func(AVD_CL_CB *cb, AVD_SU *su);
 uint32_t avd_sg_nacvred_susi_sucss_func(AVD_CL_CB *cb, AVD_SU *su, 
AVD_SU_SI_REL *susi,
                                              AVSV_SUSI_ACT act, SaAmfHAStateT 
state);
diff --git a/osaf/services/saf/amf/amfd/include/sg.h 
b/osaf/services/saf/amf/amfd/include/sg.h
--- a/osaf/services/saf/amf/amfd/include/sg.h
+++ b/osaf/services/saf/amf/amfd/include/sg.h
@@ -262,8 +262,13 @@ public:
         */
        virtual uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg) = 0;
 
-       // Handle SU inservice event, possibly assign the SU
-       uint32_t (*su_insvc)(AVD_CL_CB *cb, AVD_SU *su);
+       /**
+        * Handle SU inservice event, possibly assign the SU
+        * @param cb
+        * @param su
+        * @return
+        */
+       virtual uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su) = 0;
 
        // Handle SU failure and switch over assignments
        uint32_t (*su_fault)(AVD_CL_CB *cb, AVD_SU *su);
@@ -300,6 +305,7 @@ public:
        uint32_t si_admin_down(AVD_CL_CB *cb, AVD_SI *si);
        SaAisErrorT si_swap(AVD_SI *si, SaInvocationT invocation);
        uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg);
+       uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su);
 };
 
 /**
@@ -313,6 +319,7 @@ public:
        uint32_t si_assign(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t si_admin_down(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg);
+       uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su);
 };
 
 /**
@@ -326,6 +333,7 @@ public:
        uint32_t si_assign(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t si_admin_down(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg);
+       uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su);
 };
 
 /**
@@ -339,6 +347,7 @@ public:
        uint32_t si_assign(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t si_admin_down(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg);
+       uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su);
 };
 
 /**
@@ -352,6 +361,7 @@ public:
        uint32_t si_assign(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t si_admin_down(AVD_CL_CB *cb, AVD_SI *si);
        uint32_t sg_admin_down(AVD_CL_CB *cb, AVD_SG *sg);
+       uint32_t su_insvc(AVD_CL_CB *cb, AVD_SU *su);
 };
 
 
diff --git a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_2n_fsm.cc
@@ -1406,26 +1406,7 @@ done:
        return rc;
 }
 
- /*****************************************************************************
- * Function: avd_sg_2n_su_insvc_func
- *
- * Purpose:  This function is called when a SU readiness state changes
- * to inservice from out of service. The SG is of type 2N redundancy
- * model. It will do the functionality specified in the SG FSM.
- *
- * Input: cb - the AVD control block
- *        su - The pointer to the service unit.
- *        
- *
- * Returns: NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE.
- *
- * NOTES: none.
- *
- * 
- **************************************************************************/
-
-uint32_t avd_sg_2n_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su)
-{
+uint32_t SG_2N::su_insvc(AVD_CL_CB *cb, AVD_SU *su) {
        uint32_t rc = NCSCC_RC_SUCCESS;
        AVD_SU *l_su;
 
@@ -4062,7 +4043,6 @@ AVD_SU *get_other_su_from_oper_list(AVD_
  */
 void avd_sg_2n_init(AVD_SG *sg)
 {
-       sg->su_insvc = avd_sg_2n_su_insvc_func;
        sg->su_fault = avd_sg_2n_su_fault_func;
        sg->su_admin_down = avd_sg_2n_su_admin_fail;
        sg->susi_success = avd_sg_2n_susi_sucss_func;
diff --git a/osaf/services/saf/amf/amfd/sg_nored_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nored_fsm.cc
@@ -339,26 +339,7 @@ uint32_t avd_sg_nored_su_fault_func(AVD_
        return NCSCC_RC_SUCCESS;
 }
 
- /*****************************************************************************
- * Function: avd_sg_nored_su_insvc_func
- *
- * Purpose:  This function is called when a SU readiness state changes
- * to inservice from out of service. The SG is of type No redundancy
- * model. It will do the functionality specified in the SG FSM.
- *
- * Input: cb - the AVD control block
- *        su - The pointer to the service unit.
- *        
- *
- * Returns: NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE.
- *
- * NOTES: none.
- *
- * 
- **************************************************************************/
-
-uint32_t avd_sg_nored_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su)
-{
+uint32_t SG_NORED::su_insvc(AVD_CL_CB *cb, AVD_SU *su) {
        TRACE_ENTER2("'%s', %u", su->name.value, su->sg_of_su->sg_fsm_state);
 
        /* An SU will not become in service when the SG is being locked or 
shutdown.
@@ -1339,7 +1320,6 @@ uint32_t SG_NORED::sg_admin_down(AVD_CL_
  */
 void avd_sg_nored_init(AVD_SG *sg)
 {
-       sg->su_insvc = avd_sg_nored_su_insvc_func;
        sg->su_fault = avd_sg_nored_su_fault_func;
        sg->su_admin_down = avd_sg_nored_su_admin_fail;
        sg->susi_success = avd_sg_nored_susi_sucss_func;
diff --git a/osaf/services/saf/amf/amfd/sg_npm_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_npm_fsm.cc
@@ -1478,26 +1478,7 @@ uint32_t avd_sg_npm_su_fault_func(AVD_CL
        return NCSCC_RC_SUCCESS;
 }
 
- /*****************************************************************************
- * Function: avd_sg_npm_su_insvc_func
- *
- * Purpose:  This function is called when a SU readiness state changes
- * to inservice from out of service. The SG is of type N+M redundancy
- * model. It will do the functionality specified in the SG FSM.
- *
- * Input: cb - the AVD control block
- *        su - The pointer to the service unit.
- *        
- *
- * Returns: NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE.
- *
- * NOTES: none.
- *
- * 
- **************************************************************************/
-
-uint32_t avd_sg_npm_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su)
-{
+uint32_t SG_NPM::su_insvc(AVD_CL_CB *cb, AVD_SU *su) {
        TRACE_ENTER2("'%s', %u", su->name.value, su->sg_of_su->sg_fsm_state);
 
        /* An SU will not become in service when the SG is being locked or 
shutdown.
@@ -4519,7 +4500,6 @@ uint32_t SG_NPM::sg_admin_down(AVD_CL_CB
  */
 void avd_sg_npm_init(AVD_SG *sg)
 {
-       sg->su_insvc = avd_sg_npm_su_insvc_func;
        sg->su_fault = avd_sg_npm_su_fault_func;
        sg->su_admin_down = avd_sg_npm_su_admin_fail;
        sg->susi_success = avd_sg_npm_susi_sucss_func;
diff --git a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nway_fsm.cc
@@ -230,23 +230,7 @@ done:
        return rc;
 }
 
- /*****************************************************************************
- * Function: avd_sg_nway_su_insvc_func
- *
- * Purpose:  This function is called when a SU readiness state changes
- * to inservice from out of service. The SG is of type N-Way redundancy
- * model. It will do the functionality specified in the SG FSM.
- *
- * Input: cb - the AVD control block
- *        su - The pointer to the service unit.
- *        
- * Returns: NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE.
- *
- * Notes: none.
- *
- **************************************************************************/
-uint32_t avd_sg_nway_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su)
-{
+uint32_t SG_NWAY::su_insvc(AVD_CL_CB *cb, AVD_SU *su) {
        uint32_t rc = NCSCC_RC_SUCCESS;
 
        TRACE_ENTER2("'%s', %u", su->name.value, su->sg_of_su->sg_fsm_state);
@@ -3608,7 +3592,6 @@ void avd_sg_nway_node_fail_sg_realign(AV
  */
 void avd_sg_nway_init(AVD_SG *sg)
 {
-       sg->su_insvc = avd_sg_nway_su_insvc_func;
        sg->su_fault = avd_sg_nway_su_fault_func;
        sg->su_admin_down = avd_sg_nway_su_admin_fail;
        sg->susi_success = avd_sg_nway_susi_sucss_func;
diff --git a/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc 
b/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
--- a/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
+++ b/osaf/services/saf/amf/amfd/sg_nwayact_fsm.cc
@@ -518,26 +518,7 @@ uint32_t avd_sg_nacvred_su_fault_func(AV
        return NCSCC_RC_SUCCESS;
 }
 
- /*****************************************************************************
- * Function: avd_sg_nacvred_su_insvc_func
- *
- * Purpose:  This function is called when a SU readiness state changes
- * to inservice from out of service. The SG is of type N-way active redundancy
- * model. It will do the functionality specified in the SG FSM.
- *
- * Input: cb - the AVD control block
- *        su - The pointer to the service unit.
- *        
- *
- * Returns: NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE.
- *
- * NOTES: none.
- *
- * 
- **************************************************************************/
-
-uint32_t avd_sg_nacvred_su_insvc_func(AVD_CL_CB *cb, AVD_SU *su)
-{
+uint32_t SG_NACV::su_insvc(AVD_CL_CB *cb, AVD_SU *su) {
        TRACE_ENTER2("'%s', %u", su->name.value, su->sg_of_su->sg_fsm_state);
 
        /* An SU will not become in service when the SG is being locked or 
shutdown.
@@ -2062,7 +2043,6 @@ done:
  */
 void avd_sg_nacv_init(AVD_SG *sg)
 {
-       sg->su_insvc = avd_sg_nacvred_su_insvc_func;
        sg->su_fault = avd_sg_nacvred_su_fault_func;
        sg->su_admin_down = avd_sg_nacvred_su_admin_fail;
        sg->susi_success = avd_sg_nacvred_susi_sucss_func;

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to