OK I will declare them private for now until we have a common macro for it. /HansF
On 30 April 2014 13:49, Hans Nordebäck <hans.nordeb...@ericsson.com> wrote: > ack, only code review, one comment shouldn't copy and assignment operators > be disabled? I.e. declare them private, or use google style > > DISALLOW_COPY_AND_ASSIGN(AVD_SU); > > /Regards HansN > > > On 04/30/14 07:01, Hans Feldt wrote: >> >> osaf/services/saf/amf/amfd/include/su.h | 17 +------ >> osaf/services/saf/amf/amfd/su.cc | 74 >> +++++++++++++++----------------- >> 2 files changed, 37 insertions(+), 54 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 >> @@ -92,6 +92,9 @@ class AVD_SU { >> struct avd_sutype *su_type; >> AVD_SU *su_list_su_type_next; >> + AVD_SU() {}; >> + AVD_SU(const SaNameT *dn); >> + ~AVD_SU(); >> void set_su_failover(bool value); >> void dec_curr_stdby_si(void); >> void inc_curr_stdby_si(void); >> @@ -146,20 +149,6 @@ m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb, su, >> else su_node_ptr = i_su->su_on_node; >> /** >> - * Allocate SU memory and initialize attributes to defaults >> - * @param dn >> - * >> - * @return AVD_SU* >> - */ >> -extern AVD_SU *avd_su_new(const SaNameT *dn); >> - >> -/** >> - * Free SU memory >> - * @param su >> - */ >> -extern void avd_su_delete(AVD_SU *su); >> - >> -/** >> * Get SUs from IMM and create internal objects >> * >> * @return SaAisErrorT >> 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 >> @@ -31,51 +31,46 @@ >> AmfDb<AVD_SU> *su_db = NULL; >> -AVD_SU *avd_su_new(const SaNameT *dn) >> -{ >> - SaNameT sg_name; >> - AVD_SU *su; >> - >> - su = new AVD_SU(); >> - >> - memcpy(su->name.value, dn->value, dn->length); >> - su->name.length = dn->length; >> - avsv_sanamet_init(dn, &sg_name, "safSg"); >> - su->saAmfSUFailover = false; >> - su->term_state = false; >> - su->su_switch = AVSV_SI_TOGGLE_STABLE; >> - su->saAmfSUPreInstantiable = static_cast<SaBoolT>(false); >> - /* saAmfSUOperState is set when the SU is added to model depending >> on >> - * node state. Initialized to invalid due to filtering in >> avd_su_oper_state_set. */ >> - su->saAmfSUOperState = static_cast<SaAmfOperationalStateT>(0); >> - su->saAmfSUPresenceState = SA_AMF_PRESENCE_UNINSTANTIATED; >> - su->saAmfSuReadinessState = SA_AMF_READINESS_OUT_OF_SERVICE; >> - su->su_is_external = false; >> - >> - return su; >> +AVD_SU::AVD_SU(const SaNameT *dn) { >> + memcpy(name.value, dn->value, sizeof(name.value)); >> + name.length = dn->length; >> + saAmfSUFailover = false; >> + term_state = false; >> + su_switch = AVSV_SI_TOGGLE_STABLE; >> + saAmfSUPreInstantiable = static_cast<SaBoolT>(false); >> + saAmfSUOperState = SA_AMF_OPERATIONAL_DISABLED; >> + saAmfSUPresenceState = SA_AMF_PRESENCE_UNINSTANTIATED; >> + saAmfSuReadinessState = SA_AMF_READINESS_OUT_OF_SERVICE; >> + su_is_external = false; >> + sg_of_su = NULL; >> + su_on_node = NULL; >> + list_of_susi = NULL; >> + list_of_comp = NULL; >> + sg_list_su_next = NULL; >> + avnd_list_su_next = NULL; >> + su_type = NULL; >> + su_list_su_type_next = NULL; >> + saAmfSUHostedByNode.length = 0; >> } >> /** >> * Delete the SU from the model. Check point with peer. Send delete >> order >> * to node director. Delete all contained components. >> - * >> - * @param i_su >> */ >> -void avd_su_delete(AVD_SU *su) >> -{ >> - TRACE_ENTER2("'%s'", su->name.value); >> +AVD_SU::~AVD_SU() { >> + TRACE_ENTER2("'%s'", name.value); >> >> /* All the components under this SU should have been deleted >> * by now, just do the sanity check to confirm it is done >> */ >> - osafassert(su->list_of_comp == NULL); >> + osafassert(list_of_comp == NULL); >> + osafassert(list_of_susi == NULL); >> - m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, su, >> AVSV_CKPT_AVD_SU_CONFIG); >> - avd_node_remove_su(su); >> - avd_sutype_remove_su(su); >> - su_db->erase(su); >> - avd_sg_remove_su(su); >> - delete su; >> + m_AVSV_SEND_CKPT_UPDT_ASYNC_RMV(avd_cb, this, >> AVSV_CKPT_AVD_SU_CONFIG); >> + avd_node_remove_su(this); >> + avd_sutype_remove_su(this); >> + su_db->erase(this); >> + avd_sg_remove_su(this); >> TRACE_LEAVE(); >> } >> @@ -93,8 +88,7 @@ AVD_SU *avd_su_get_or_create(const SaNam >> if (su == NULL) { >> TRACE("'%s' does not exist, creating it", dn->value); >> - su = avd_su_new(dn); >> - osafassert(su != NULL); >> + su = new AVD_SU(dn); >> unsigned int rc = su_db->insert(su); >> osafassert(rc == NCSCC_RC_SUCCESS); >> } >> @@ -420,8 +414,7 @@ static AVD_SU *su_create(const SaNameT * >> ** but needs to get configuration attributes initialized. >> */ >> if ((su = su_db->find(dn)) == NULL) { >> - if ((su = avd_su_new(dn)) == NULL) >> - goto done; >> + su = new AVD_SU(dn); >> } else >> TRACE("already created, refreshing config..."); >> @@ -1489,7 +1482,7 @@ static void su_ccb_apply_delete_hdlr(str >> TRACE_ENTER2("'%s'", su->name.value); >> if (avd_cb->avail_state_avd != SA_AMF_HA_ACTIVE) { >> - avd_su_delete(su); >> + delete su; >> goto done; >> } >> @@ -1505,7 +1498,8 @@ static void su_ccb_apply_delete_hdlr(str >> avd_snd_op_req_msg(avd_cb, su_node_ptr, ¶m); >> } >> - avd_su_delete(su); >> + delete su; >> + >> if (AVD_SG_FSM_STABLE == sg->sg_fsm_state) { >> /*if su of uneqal rank has been delete and all SUs are of >> same rank then do screening >> for SI Distribution. */ > > ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel