osaf/services/saf/amf/amfd/comptype.cc    |  14 ++++++-
 osaf/services/saf/amf/amfd/include/comp.h |  57 ++++++++++++++++--------------
 2 files changed, 43 insertions(+), 28 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/comptype.cc 
b/osaf/services/saf/amf/amfd/comptype.cc
--- a/osaf/services/saf/amf/amfd/comptype.cc
+++ b/osaf/services/saf/amf/amfd/comptype.cc
@@ -31,7 +31,6 @@ AVD_COMP_GLOBALATTR avd_comp_global_attr
 
 AmfDb<std::string, AVD_COMP_TYPE> *comptype_db = NULL;
 
-
 static void comptype_db_add(AVD_COMP_TYPE *compt)
 {
        unsigned int rc = 
comptype_db->insert(Amf::to_string(&compt->name),compt);
@@ -77,6 +76,17 @@ void avd_comptype_remove_comp(AVD_COMP *
        }
 }
 
+//
+AVD_COMP_TYPE::AVD_COMP_TYPE()
+    : name{}, saAmfCtCompCategory{}, saAmfCtSwBundle{}, saAmfCtDefCmdEnv{}, 
saAmfCtDefClcCliTimeout{},
+      saAmfCtDefCallbackTimeout{}, saAmfCtRelPathInstantiateCmd{}, 
saAmfCtDefInstantiateCmdArgv{},
+      saAmfCtDefInstantiationLevel{}, saAmfCtRelPathTerminateCmd{}, 
saAmfCtDefTerminateCmdArgv{},
+      saAmfCtRelPathCleanupCmd{}, 
saAmfCtDefCleanupCmdArgv{},saAmfCtRelPathAmStartCmd{},
+      saAmfCtDefAmStartCmdArgv{}, saAmfCtRelPathAmStopCmd{}, 
saAmfCtDefAmStopCmdArgv{},
+      saAmfCtDefQuiescingCompleteTimeout{}, saAmfCtDefRecoveryOnError{}, 
saAmfCtDefDisableRestart{}
+{
+}
+
 static AVD_COMP_TYPE *comptype_create(const SaNameT *dn, const 
SaImmAttrValuesT_2 **attributes)
 {
        AVD_COMP_TYPE *compt;
@@ -85,7 +95,7 @@ static AVD_COMP_TYPE *comptype_create(co
 
        TRACE_ENTER2("'%s'", dn->value);
 
-       compt = new AVD_COMP_TYPE();
+       compt = new AVD_COMP_TYPE;
 
        memcpy(compt->name.value, dn->value, dn->length);
        compt->name.length = dn->length;
diff --git a/osaf/services/saf/amf/amfd/include/comp.h 
b/osaf/services/saf/amf/amfd/include/comp.h
--- a/osaf/services/saf/amf/amfd/include/comp.h
+++ b/osaf/services/saf/amf/amfd/include/comp.h
@@ -43,6 +43,7 @@
 #include "db_template.h"
 
 class AVD_SU;
+class AVD_COMP_TYPE;
 
 /* AMF Class SaAmfCompGlobalAttributes */
 typedef struct {
@@ -117,7 +118,7 @@ class AVD_COMP {
                          * comp has been assigned a CSI from
                          * current SI being assigned
                          */
-  struct avd_amf_comp_type_tag *comp_type;
+  AVD_COMP_TYPE *comp_type;
   AVD_COMP *comp_type_list_comp_next;
   AVD_SU *su;          /* SU to which this component belongs */
   AVD_COMP *su_comp_next;      /* the next component in list of  components
@@ -135,32 +136,36 @@ class AVD_COMP {
 extern AmfDb<std::string, AVD_COMP> *comp_db;
 
 /* AMF Class SaAmfCompType */
-typedef struct avd_amf_comp_type_tag {
+class AVD_COMP_TYPE {
+ public:
+  AVD_COMP_TYPE();
+  SaNameT name;
+  SaUint32T saAmfCtCompCategory;
+  SaNameT saAmfCtSwBundle;
+  char saAmfCtDefCmdEnv[AVSV_MISC_STR_MAX_SIZE];
+  SaTimeT saAmfCtDefClcCliTimeout;
+  SaTimeT saAmfCtDefCallbackTimeout;
+  char saAmfCtRelPathInstantiateCmd[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtDefInstantiateCmdArgv[AVSV_MISC_STR_MAX_SIZE];
+  SaUint32T saAmfCtDefInstantiationLevel;
+  char saAmfCtRelPathTerminateCmd[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtDefTerminateCmdArgv[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtRelPathCleanupCmd[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtDefCleanupCmdArgv[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtRelPathAmStartCmd[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtDefAmStartCmdArgv[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtRelPathAmStopCmd[AVSV_MISC_STR_MAX_SIZE];
+  char saAmfCtDefAmStopCmdArgv[AVSV_MISC_STR_MAX_SIZE];
+  SaTimeT saAmfCtDefQuiescingCompleteTimeout;
+  SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError;
+  SaBoolT saAmfCtDefDisableRestart;
 
-       SaNameT name;
-       SaUint32T saAmfCtCompCategory;
-       SaNameT saAmfCtSwBundle;
-       char saAmfCtDefCmdEnv[AVSV_MISC_STR_MAX_SIZE];
-       SaTimeT saAmfCtDefClcCliTimeout;
-       SaTimeT saAmfCtDefCallbackTimeout;
-       char saAmfCtRelPathInstantiateCmd[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtDefInstantiateCmdArgv[AVSV_MISC_STR_MAX_SIZE];
-       SaUint32T saAmfCtDefInstantiationLevel;
-       char saAmfCtRelPathTerminateCmd[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtDefTerminateCmdArgv[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtRelPathCleanupCmd[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtDefCleanupCmdArgv[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtRelPathAmStartCmd[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtDefAmStartCmdArgv[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtRelPathAmStopCmd[AVSV_MISC_STR_MAX_SIZE];
-       char saAmfCtDefAmStopCmdArgv[AVSV_MISC_STR_MAX_SIZE];
-       SaTimeT saAmfCtDefQuiescingCompleteTimeout;
-       SaAmfRecommendedRecoveryT saAmfCtDefRecoveryOnError;
-       SaBoolT saAmfCtDefDisableRestart;
-
-       AVD_COMP *list_of_comp;
-
-} AVD_COMP_TYPE;
+  AVD_COMP *list_of_comp;
+ private:
+  // disallow copy and assign
+  AVD_COMP_TYPE(const AVD_COMP_TYPE&);
+  void operator=(const AVD_COMP_TYPE&);
+};
 extern  AmfDb<std::string, AVD_COMP_TYPE> *comptype_db;
 
 /* AMF Class SaAmfCompCsType */

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to