Hi Hans N, Thanks for your response. So, I guess, we are going to follow the same for other class constructors as well in Amf ?
Thanks -Nagu > -----Original Message----- > From: Hans Nordebäck [mailto:hans.nordeb...@ericsson.com] > Sent: 28 May 2014 16:39 > To: Nagendra Kumar; Hans Feldt > Cc: opensaf-devel@lists.sourceforge.net > Subject: RE: [devel] [PATCH 1 of 1] amfd: fix SU constructor [#713] > > Hi Nagu, I think it is good practice to use explicit for constructors taking > one > argument to avoid implicit conversions. If implicit conversions is needed it > should be removed/Regards HansN > > -----Original Message----- > From: Nagendra Kumar [mailto:nagendr...@oracle.com] > Sent: den 28 maj 2014 12:58 > To: Hans Feldt; Hans Nordebäck > Cc: opensaf-devel@lists.sourceforge.net > Subject: RE: [devel] [PATCH 1 of 1] amfd: fix SU constructor [#713] > > Can you please share the advantage for using 'explicit' here: > > + explicit AVD_SU(const SaNameT *dn); > > Thanks > -Nagu > > > -----Original Message----- > > From: Hans Feldt [mailto:hans.fe...@ericsson.com] > > Sent: 28 May 2014 13:16 > > To: hans.nordeb...@ericsson.com > > Cc: opensaf-devel@lists.sourceforge.net > > Subject: [devel] [PATCH 1 of 1] amfd: fix SU constructor [#713] > > > > osaf/services/saf/amf/amfd/include/su.h | 2 +- > > osaf/services/saf/amf/amfd/su.cc | 43 > > ++++++++++++++++++-------------- > > 2 files changed, 25 insertions(+), 20 deletions(-) > > > > > > saAmfSUMaintenanceCampaign was not initialized properly thus causing > > SMF campaigns to fail. While fixing that we align to "rule": > > http://www.parashift.com/c++-faq/init-lists.html and initialize > > attributes using the initialization list rather than assignment. > > > > 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 > > @@ -93,7 +93,7 @@ class AVD_SU { > > AVD_SU *su_list_su_type_next; > > > > AVD_SU() {}; > > - AVD_SU(const SaNameT *dn); > > + explicit AVD_SU(const SaNameT *dn); > > ~AVD_SU() {}; > > void set_su_failover(bool value); > > void dec_curr_stdby_si(); > > 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,27 +32,32 @@ > > > > AmfDb<AVD_SU> *su_db = NULL; > > > > -AVD_SU::AVD_SU(const SaNameT *dn) { > > +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; > > - 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; > > - saAmfSUNumCurrActiveSIs = 0; > > - saAmfSUNumCurrStandbySIs = 0; > > - 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; > > + saAmfSUMaintenanceCampaign.length = 0; > > saAmfSUHostedByNode.length = 0; > > pend_cbk.invocation = 0; > > pend_cbk.admin_oper = (SaAmfAdminOperationIdT)0; > > > > ---------------------------------------------------------------------- > > -------- Time is money. Stop wasting it! Get your web API in 5 > > minutes. > > www.restlet.com/download > > http://p.sf.net/sfu/restlet > > _______________________________________________ > > Opensaf-devel mailing list > > Opensaf-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/opensaf-devel ------------------------------------------------------------------------------ Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel