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

Reply via email to