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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel