osaf/services/saf/amf/amfd/include/svctypecstype.h | 21 ++++++++++++++-------
osaf/services/saf/amf/amfd/svctypecstypes.cc | 10 ++++++----
2 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/osaf/services/saf/amf/amfd/include/svctypecstype.h
b/osaf/services/saf/amf/amfd/include/svctypecstype.h
--- a/osaf/services/saf/amf/amfd/include/svctypecstype.h
+++ b/osaf/services/saf/amf/amfd/include/svctypecstype.h
@@ -16,16 +16,23 @@
#ifndef SVCTYPECSTYPE_H
#define SVCTYPECSTYPE_H
-typedef struct {
- SaNameT name;
- SaUint32T saAmfSvctMaxNumCSIs;
+class AVD_SVC_TYPE_CS_TYPE {
+ public:
+ explicit AVD_SVC_TYPE_CS_TYPE(const SaNameT *dn);
- SaUint32T curr_num_csis;
+ SaNameT name {};
+ SaUint32T saAmfSvctMaxNumCSIs {};
- struct avd_amf_svc_type_tag *cs_type_on_svc_type;
- struct avd_svc_type_cs_type_tag *cs_type_list_svc_type_next;
+ SaUint32T curr_num_csis {};
-} AVD_SVC_TYPE_CS_TYPE;
+ struct avd_amf_svc_type_tag *cs_type_on_svc_type {};
+ struct avd_svc_type_cs_type_tag *cs_type_list_svc_type_next {};
+ private:
+ AVD_SVC_TYPE_CS_TYPE();
+ // disallow copy and assign
+ AVD_SVC_TYPE_CS_TYPE(const AVD_SVC_TYPE_CS_TYPE&);
+ void operator=(const AVD_SVC_TYPE_CS_TYPE&);
+};
SaAisErrorT avd_svctypecstypes_config_get(SaNameT *svctype_name);
void avd_svctypecstypes_constructor(void);
diff --git a/osaf/services/saf/amf/amfd/svctypecstypes.cc
b/osaf/services/saf/amf/amfd/svctypecstypes.cc
--- a/osaf/services/saf/amf/amfd/svctypecstypes.cc
+++ b/osaf/services/saf/amf/amfd/svctypecstypes.cc
@@ -30,6 +30,11 @@ static void svctypecstype_db_add(AVD_SVC
osafassert(rc == NCSCC_RC_SUCCESS);
}
+//
+AVD_SVC_TYPE_CS_TYPE::AVD_SVC_TYPE_CS_TYPE(const SaNameT *dn) {
+ memcpy(&name.value, dn->value, dn->length);
+ name.length = dn->length;
+}
static AVD_SVC_TYPE_CS_TYPE *svctypecstypes_create(SaNameT *dn, const
SaImmAttrValuesT_2 **attributes)
{
@@ -37,10 +42,7 @@ static AVD_SVC_TYPE_CS_TYPE *svctypecsty
TRACE_ENTER2("'%s'", dn->value);
- svctypecstype = new AVD_SVC_TYPE_CS_TYPE();
-
- memcpy(svctypecstype->name.value, dn->value, dn->length);
- svctypecstype->name.length = dn->length;
+ svctypecstype = new AVD_SVC_TYPE_CS_TYPE(dn);
if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfSvctMaxNumCSIs"),
attributes, 0, &svctypecstype->saAmfSvctMaxNumCSIs) != SA_AIS_OK)
svctypecstype->saAmfSvctMaxNumCSIs = -1; /* no limit */
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel