ack, with minor comment below.
On 04/08/15 18:14, Hans Nordeback wrote:
> 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{}
I think list_of_comp{} should be added to the init list.
> +{
> +}
> +
> 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