Ack. Tested. It works. Thanks -Nagu
> -----Original Message----- > From: Hans Nordeback [mailto:hans.nordeb...@ericsson.com] > Sent: 14 August 2014 19:37 > To: Nagendra Kumar > Cc: opensaf-devel@lists.sourceforge.net > Subject: [PATCH 1 of 1] amf: correct default constructor for class SU [#983] > > osaf/services/saf/amf/amfd/include/su.h | 10 ++-- > osaf/services/saf/amf/amfd/su.cc | 59 > +++++++++++++++++++------------- > 2 files changed, 39 insertions(+), 30 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 > @@ -42,6 +42,10 @@ class AVD_SG; > //TODO: all attributes that have a setter should probably have an getter > class AVD_SU { > public: > + AVD_SU(); > + explicit AVD_SU(const SaNameT *dn); > + ~AVD_SU() {}; > + > SaNameT name; > SaNameT saAmfSUType; > uint32_t saAmfSURank; > @@ -93,9 +97,6 @@ class AVD_SU { > struct avd_sutype *su_type; > AVD_SU *su_list_su_type_next; > > - AVD_SU() {}; > - explicit AVD_SU(const SaNameT *dn); > - ~AVD_SU() {}; > void set_su_failover(bool value); > void dec_curr_stdby_si(); > void inc_curr_stdby_si(); > @@ -133,9 +134,8 @@ class AVD_SU { > void shutdown(SaImmOiHandleT immoi_handle, SaInvocationT > invocation); > void lock(SaImmOiHandleT immoi_handle, SaInvocationT invocation, > SaAmfAdminStateT adm_state); > - > - > private: > + void initialize(); > void send_attribute_update(AVSV_AMF_SU_ATTR_ID attrib_id); > void set_saAmfSUPreInstantiable(bool value); > > 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 > @@ -32,31 +32,30 @@ > > AmfDb<std::string, AVD_SU> *su_db = NULL; > > -AVD_SU::AVD_SU(const SaNameT *dn): > - saAmfSURank(0), > - saAmfSUFailover(false), > - saAmfSUFailover_configured(false), > - saAmfSUPreInstantiable(static_cast<SaBoolT>(false)), > - saAmfSUOperState(SA_AMF_OPERATIONAL_DISABLED), > - > saAmfSuReadinessState(SA_AMF_READINESS_OUT_OF_SERVICE), > - > saAmfSUPresenceState(SA_AMF_PRESENCE_UNINSTANTIATED), > - saAmfSUNumCurrActiveSIs(0), > - saAmfSUNumCurrStandbySIs(0), > - saAmfSURestartCount(0), > - term_state(false), > - su_switch(AVSV_SI_TOGGLE_STABLE), > - 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) { > - > - memcpy(name.value, dn->value, sizeof(name.value)); > - name.length = dn->length; > +void AVD_SU::initialize() { > + > + saAmfSURank = 0; > + saAmfSUFailover = false; > + saAmfSUFailover_configured = false; > + saAmfSUPreInstantiable = SA_FALSE; > + saAmfSUOperState = SA_AMF_OPERATIONAL_DISABLED; > + saAmfSuReadinessState = SA_AMF_READINESS_OUT_OF_SERVICE; > + saAmfSUPresenceState = SA_AMF_PRESENCE_UNINSTANTIATED; > + saAmfSUNumCurrActiveSIs = 0; > + saAmfSUNumCurrStandbySIs = 0; > + saAmfSURestartCount = 0; > + term_state = false; > + su_switch = AVSV_SI_TOGGLE_STABLE; > + 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; > + name.length = 0; > saAmfSUType.length = 0; > saAmfSUMaintenanceCampaign.length = 0; > saAmfSUHostedByNode.length = 0; > @@ -64,6 +63,16 @@ AVD_SU::AVD_SU(const SaNameT *dn): > pend_cbk.admin_oper = (SaAmfAdminOperationIdT)0; > } > > +AVD_SU::AVD_SU() { > + initialize(); > +} > + > +AVD_SU::AVD_SU(const SaNameT *dn) { > + initialize(); > + memcpy(name.value, dn->value, sizeof(name.value)); > + name.length = dn->length; > +} > + > /** > * Delete the SU from the model. Check point with peer. Send delete order > * to node director. ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel