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