osaf/services/saf/amf/amfd/csi.cc | 4 ++-- osaf/services/saf/amf/amfd/include/si.h | 11 +++++++---- osaf/services/saf/amf/amfd/sg_nway_fsm.cc | 4 ++-- osaf/services/saf/amf/amfd/si.cc | 25 ++++++++++++------------- osaf/services/saf/amf/amfd/si_dep.cc | 2 +- 5 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/osaf/services/saf/amf/amfd/csi.cc b/osaf/services/saf/amf/amfd/csi.cc --- a/osaf/services/saf/amf/amfd/csi.cc +++ b/osaf/services/saf/amf/amfd/csi.cc @@ -39,7 +39,7 @@ void avd_csi_delete(AVD_CSI *csi) } avd_cstype_remove_csi(csi); - avd_si_remove_csi(csi); + csi->si->remove_csi(csi); csi_db->erase(Amf::to_string(&csi->name)); @@ -322,7 +322,7 @@ static void csi_get_attr_and_add_to_mode csi->si = avd_si_get(si_name); avd_cstype_add_csi(csi); - avd_si_add_csi(csi); + csi->si->add_csi(csi); rc = 0; diff --git a/osaf/services/saf/amf/amfd/include/si.h b/osaf/services/saf/amf/amfd/include/si.h --- a/osaf/services/saf/amf/amfd/include/si.h +++ b/osaf/services/saf/amf/amfd/include/si.h @@ -127,17 +127,22 @@ public: uint32_t curr_active_assignments() const; uint32_t pref_standby_assignments() const; uint32_t curr_standby_assignments() const; + + void add_csi(struct avd_csi_tag* csi); + void remove_csi(struct avd_csi_tag *csi); + + void delete_assignments(AVD_CL_CB *cb); + void delete_csis(); private: AVD_SI(const AVD_SI&); AVD_SI& operator=(const AVD_SI&); + }; extern AmfDb<std::string, AVD_SI> *si_db; #define AVD_SI_NULL ((AVD_SI *)0) -extern void avd_si_add_csi(struct avd_csi_tag* csi); -extern void avd_si_remove_csi(struct avd_csi_tag *csi); extern AVD_SI *avd_si_new(const SaNameT *dn); extern void avd_si_delete(AVD_SI *si); extern void avd_si_db_add(AVD_SI *si); @@ -145,6 +150,4 @@ extern AVD_SI *avd_si_get(const SaNameT extern SaAisErrorT avd_si_config_get(struct avd_app_tag *app); extern void avd_si_constructor(void); -extern void avd_si_assignments_delete(AVD_CL_CB *cb, AVD_SI *si); - #endif 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 @@ -2551,7 +2551,7 @@ uint32_t avd_sg_nway_susi_succ_sg_realig /* As susi failover is not possible, delete all the assignments corresponding to * curr_susi->si */ - avd_si_assignments_delete(cb, susi->si); + susi->si->delete_assignments(cb); } } @@ -2803,7 +2803,7 @@ uint32_t avd_sg_nway_susi_succ_su_oper(A /* As susi failover is not possible, delete all the assignments corresponding to * curr_susi->si */ - avd_si_assignments_delete(cb, susi->si); + susi->si->delete_assignments(cb); } } else if (susi && (SA_AMF_HA_ACTIVE == state) && (AVSV_SUSI_ACT_DEL != act)) { /* => single active assignment success */ diff --git a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc --- a/osaf/services/saf/amf/amfd/si.cc +++ b/osaf/services/saf/amf/amfd/si.cc @@ -98,7 +98,7 @@ static void avd_si_arrange_dep_csi(struc /* Store the SI pointer as avd_si_remove_csi makes it NULL in the end */ temp_csi->rank = csi->rank + 1; temp_si = temp_csi->si; - avd_si_remove_csi(temp_csi); + temp_si->remove_csi(temp_csi); temp_csi->si = temp_si; avd_si_add_csi_db(temp_csi); /* We need to check whether any other CSI is dependent on temp_csi. @@ -114,7 +114,7 @@ static void avd_si_arrange_dep_csi(struc return; } -void avd_si_add_csi(struct avd_csi_tag* avd_csi) +void AVD_SI::add_csi(struct avd_csi_tag* avd_csi) { AVD_CSI *temp_csi = NULL; bool found = false; @@ -260,7 +260,7 @@ void AVD_SI::remove_rankedsu(const SaNam TRACE_LEAVE(); } -void avd_si_remove_csi(AVD_CSI* csi) +void AVD_SI::remove_csi(AVD_CSI* csi) { AVD_CSI *i_csi = NULL; AVD_CSI *prev_csi = NULL; @@ -340,18 +340,18 @@ AVD_SI *avd_si_new(const SaNameT *dn) * * @param si */ -static void si_delete_csis(AVD_SI *si) +void AVD_SI::delete_csis() { AVD_CSI *csi, *temp; - csi = si->list_of_csi; + csi = list_of_csi; while (csi != NULL) { temp = csi; csi = csi->si_list_of_csi_next; avd_csi_delete(temp); } - si->list_of_csi = NULL; + list_of_csi = NULL; } void avd_si_delete(AVD_SI *si) @@ -361,7 +361,7 @@ void avd_si_delete(AVD_SI *si) /* All CSI under this should have been deleted by now on the active director and on standby all the csi should be deleted because csi delete is not checkpointed as and when it happens */ - si_delete_csis(si); + si->delete_csis(); m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, si, AVSV_CKPT_AVD_SI_CONFIG); avd_svctype_remove_si(si); avd_app_remove_si(si->app, si); @@ -379,18 +379,17 @@ void avd_si_delete(AVD_SI *si) delete si; } /** - * @brief Deletes all assignments on a particular SI + * @brief Deletes all assignments * * @param[in] cb - the AvD control block - * @param[in] si - SI for which susi need to be deleted * * @return NULL * */ -void avd_si_assignments_delete(AVD_CL_CB *cb, AVD_SI *si) +void AVD_SI::delete_assignments(AVD_CL_CB *cb) { - AVD_SU_SI_REL *sisu = si->list_of_sisu; - TRACE_ENTER2(" '%s'", si->name.value); + AVD_SU_SI_REL *sisu = list_of_sisu; + TRACE_ENTER2(" '%s'", name.value); for (; sisu != NULL; sisu = sisu->si_next) { if(sisu->fsm != AVD_SU_SI_STATE_UNASGN) @@ -548,7 +547,7 @@ static AVD_SI *si_create(SaNameT *si_nam /* here delete the whole csi configuration to refresh since csi deletes are not checkpointed there may be some CSIs that are deleted from previous data sync up */ - si_delete_csis(si); + si->delete_csis(); /* delete the corresponding compcsi configuration also */ sisu = si->list_of_sisu; diff --git a/osaf/services/saf/amf/amfd/si_dep.cc b/osaf/services/saf/amf/amfd/si_dep.cc --- a/osaf/services/saf/amf/amfd/si_dep.cc +++ b/osaf/services/saf/amf/amfd/si_dep.cc @@ -2379,7 +2379,7 @@ void avd_sidep_send_active_to_dependents else /* As susi failover is not possible, delete all the assignments */ - avd_si_assignments_delete(avd_cb, dep_si); + dep_si->delete_assignments(avd_cb); break; default: break; ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel