Hi Gary,

Thanks for the patches. AMFD fails for compilation with these 5 patches:
make[7]: Entering directory `/home/long_dn/osaf/services/saf/amf/amfd'
   CXX      osafamfd-app.o
In file included from app.cc:21:0:
../../../../../osaf/services/saf/amf/amfd/include/util.h:45:29: fatal 
error: amf_db_template.h: No such file or directory
  #include "amf_db_template.h"
                              ^
compilation terminated.
What is the order to be followed? I see Long has published some 
individual patches.


Thanks,
praveen

On 25-Jul-16 11:58 AM, Gary Lee wrote:
> Hi Praveen
>
> I've attached the amfd patches to the ticket.
>
> Long also sent 6 other patches for amfnd, amf common lib, etc..
>
> Thanks
>
> Gary
>
>
> On 25/07/2016 4:18 PM, praveen malviya wrote:
>> Hi Gary,
>> Not received patch 5 of 5 and 0 of 5. Please upload patches in the
>> ticket.
>>
>> Also please confirm how may sets of patches are there?
>>
>> Thanks,
>> Praveen
>>
>>
>> On 05-Jul-16 1:25 PM, Gary Lee wrote:
>>>  osaf/services/saf/amf/amfd/include/Makefile.am |   1 -
>>>  osaf/services/saf/amf/amfd/include/app.h           |   8 +-
>>>  osaf/services/saf/amf/amfd/include/apptype.h       |  10 +-
>>>  osaf/services/saf/amf/amfd/include/cb.h            |   4 +-
>>>  osaf/services/saf/amf/amfd/include/ckpt.h          |   4 +-
>>>  osaf/services/saf/amf/amfd/include/cluster.h       |   8 +-
>>>  osaf/services/saf/amf/amfd/include/comp.h          |  58
>>> +++++++++++----------
>>>  osaf/services/saf/amf/amfd/include/csi.h           |  26 ++++----
>>>  osaf/services/saf/amf/amfd/include/evt.h           |  22 ++++---
>>>  osaf/services/saf/amf/amfd/include/imm.h           |  21 ++++---
>>>  osaf/services/saf/amf/amfd/include/node.h          |  21 +++----
>>>  osaf/services/saf/amf/amfd/include/ntf.h           |  34 ++++++------
>>>  osaf/services/saf/amf/amfd/include/pg.h            |   2 +-
>>>  osaf/services/saf/amf/amfd/include/proc.h          |  22 ++++----
>>>  osaf/services/saf/amf/amfd/include/sg.h            |   9 +-
>>>  osaf/services/saf/amf/amfd/include/sgtype.h        |  10 +-
>>>  osaf/services/saf/amf/amfd/include/si.h            |  12 ++--
>>>  osaf/services/saf/amf/amfd/include/si_dep.h        |  16 +++---
>>>  osaf/services/saf/amf/amfd/include/su.h            |  18 +++---
>>>  osaf/services/saf/amf/amfd/include/susi.h          |  14 ++--
>>>  osaf/services/saf/amf/amfd/include/sutcomptype.h   |   4 +-
>>>  osaf/services/saf/amf/amfd/include/sutype.h        |   6 +-
>>>  osaf/services/saf/amf/amfd/include/svctype.h       |   4 +-
>>>  osaf/services/saf/amf/amfd/include/svctypecstype.h |   6 +-
>>>  osaf/services/saf/amf/amfd/include/timer.h         |   5 +-
>>>  osaf/services/saf/amf/amfd/include/util.h          |  17 +++--
>>>  26 files changed, 185 insertions(+), 177 deletions(-)
>>>
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/Makefile.am
>>> b/osaf/services/saf/amf/amfd/include/Makefile.am
>>> --- a/osaf/services/saf/amf/amfd/include/Makefile.am
>>> +++ b/osaf/services/saf/amf/amfd/include/Makefile.am
>>> @@ -31,7 +31,6 @@ noinst_HEADERS = \
>>>     comp.h \
>>>     clm.h \
>>>     csi.h \
>>> -   db_template.h \
>>>     def.h \
>>>     evt.h \
>>>     amfd.h \
>>> diff --git a/osaf/services/saf/amf/amfd/include/app.h
>>> b/osaf/services/saf/amf/amfd/include/app.h
>>> --- a/osaf/services/saf/amf/amfd/include/app.h
>>> +++ b/osaf/services/saf/amf/amfd/include/app.h
>>> @@ -30,13 +30,13 @@
>>>  #include <include/apptype.h>
>>>  #include <sg.h>
>>>  #include <si.h>
>>> -#include "db_template.h"
>>> +#include <amf_db_template.h>
>>>
>>>  class AVD_APP {
>>>
>>>  public:
>>> -    SaNameT name;
>>> -    SaNameT saAmfAppType;
>>> +    std::string name;
>>> +    std::string saAmfAppType;
>>>      SaAmfAdminStateT saAmfApplicationAdminState;
>>>      SaUint32T saAmfApplicationCurrNumSGs;
>>>      AVD_SG *list_of_sg;
>>> @@ -45,7 +45,7 @@ public:
>>>      AVD_APP_TYPE *app_type;
>>>
>>>      AVD_APP();
>>> -    explicit AVD_APP(const SaNameT *dn);
>>> +    explicit AVD_APP(const std::string& dn);
>>>      ~AVD_APP();
>>>
>>>      void add_si(AVD_SI *si);
>>> diff --git a/osaf/services/saf/amf/amfd/include/apptype.h
>>> b/osaf/services/saf/amf/amfd/include/apptype.h
>>> --- a/osaf/services/saf/amf/amfd/include/apptype.h
>>> +++ b/osaf/services/saf/amf/amfd/include/apptype.h
>>> @@ -29,16 +29,16 @@
>>>
>>>  #include <sg.h>
>>>  #include <si.h>
>>> -#include "db_template.h"
>>> +#include <amf_db_template.h>
>>>
>>>  class AVD_APP;
>>>
>>>  class AVD_APP_TYPE {
>>>   public:
>>> -  explicit AVD_APP_TYPE(const SaNameT* dn);
>>> +  explicit AVD_APP_TYPE(const std::string& dn);
>>>    ~AVD_APP_TYPE();
>>> -  SaNameT name {};
>>> -  std::vector<SaNameT> sgAmfApptSGTypes {};
>>> +  std::string name {};
>>> +  std::vector<std::string> sgAmfApptSGTypes {};
>>>    AVD_APP *list_of_app {};
>>>   private:
>>>    AVD_APP_TYPE();
>>> @@ -47,7 +47,7 @@ class AVD_APP_TYPE {
>>>    void operator=(const AVD_APP_TYPE&);
>>>  };
>>>
>>> -extern AVD_APP_TYPE *avd_apptype_get(const SaNameT *dn);
>>> +extern AVD_APP_TYPE *avd_apptype_get(const std::string& dn);
>>>  extern void avd_apptype_add_app(AVD_APP *app);
>>>  extern void avd_apptype_remove_app(AVD_APP *app);
>>>  extern SaAisErrorT avd_apptype_config_get(void);
>>> diff --git a/osaf/services/saf/amf/amfd/include/cb.h
>>> b/osaf/services/saf/amf/amfd/include/cb.h
>>> --- a/osaf/services/saf/amf/amfd/include/cb.h
>>> +++ b/osaf/services/saf/amf/amfd/include/cb.h
>>> @@ -93,7 +93,7 @@ typedef struct avd_ext_comp_info {
>>>   * during fail over.
>>>   */
>>>  typedef struct avd_evt_queue {
>>> -    struct avd_evt_tag *evt;
>>> +    struct AVD_EVT *evt;
>>>      struct avd_evt_queue *next;
>>>  } AVD_EVT_QUEUE;
>>>
>>> @@ -240,6 +240,6 @@ typedef struct cl_cb_tag {
>>>
>>>  extern AVD_CL_CB *avd_cb;
>>>
>>> -struct avd_evt_tag;
>>> +struct AVD_EVT;
>>>
>>>  #endif
>>> diff --git a/osaf/services/saf/amf/amfd/include/ckpt.h
>>> b/osaf/services/saf/amf/amfd/include/ckpt.h
>>> --- a/osaf/services/saf/amf/amfd/include/ckpt.h
>>> +++ b/osaf/services/saf/amf/amfd/include/ckpt.h
>>> @@ -45,7 +45,7 @@
>>>  #define AVD_MBCSV_SUB_PART_VERSION_2    2
>>>  #define AVD_MBCSV_SUB_PART_VERSION_MIN  1
>>>
>>> -struct avd_evt_tag;
>>> +struct AVD_EVT;
>>>  struct cl_cb_tag;
>>>  class AVD_APP;
>>>  class AVD_COMP;
>>> @@ -133,7 +133,7 @@ typedef uint32_t (*AVSV_DECODE_COLD_SYNC
>>>  /* Function Definations of avd_chkop.c */
>>>  uint32_t avd_active_role_initialization(struct cl_cb_tag *cb,
>>> SaAmfHAStateT role);
>>>  uint32_t avd_standby_role_initialization(struct cl_cb_tag *cb);
>>> -void avd_role_change_evh(struct cl_cb_tag *cb, struct avd_evt_tag
>>> *evt);
>>> +void avd_role_change_evh(struct cl_cb_tag *cb, struct AVD_EVT *evt);
>>>  uint32_t avsv_mbcsv_register(struct cl_cb_tag *cb);
>>>  uint32_t avsv_mbcsv_deregister(struct cl_cb_tag *cb);
>>>  uint32_t avsv_set_ckpt_role(struct cl_cb_tag *cb, uint32_t role);
>>> diff --git a/osaf/services/saf/amf/amfd/include/cluster.h
>>> b/osaf/services/saf/amf/amfd/include/cluster.h
>>> --- a/osaf/services/saf/amf/amfd/include/cluster.h
>>> +++ b/osaf/services/saf/amf/amfd/include/cluster.h
>>> @@ -28,8 +28,8 @@
>>>  #include <node.h>
>>>
>>>  typedef struct avd_cluster_tag {
>>> -    SaNameT saAmfCluster;
>>> -    SaNameT saAmfClusterClmCluster;
>>> +    std::string saAmfCluster;
>>> +    std::string saAmfClusterClmCluster;
>>>      SaTimeT saAmfClusterStartupTimeout;
>>>      SaAmfAdminStateT saAmfClusterAdminState;
>>>  } AVD_CLUSTER;
>>> @@ -37,8 +37,8 @@ typedef struct avd_cluster_tag {
>>>  extern AVD_CLUSTER *avd_cluster;
>>>
>>>  extern SaAisErrorT avd_cluster_config_get(void);
>>> -extern void avd_cluster_tmr_init_evh(AVD_CL_CB *cb, struct
>>> avd_evt_tag *evt);
>>> -extern void avd_node_sync_tmr_evh(AVD_CL_CB *cb, struct avd_evt_tag
>>> *evt);
>>> +extern void avd_cluster_tmr_init_evh(AVD_CL_CB *cb, struct AVD_EVT
>>> *evt);
>>> +extern void avd_node_sync_tmr_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  extern void avd_cluster_constructor(void);
>>>
>>>  #endif
>>> 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
>>> @@ -40,7 +40,7 @@
>>>  #include <saImm.h>
>>>  #include <amf_d2nmsg.h>
>>>  #include <cb.h>
>>> -#include "db_template.h"
>>> +#include <amf_db_template.h>
>>>
>>>  class AVD_SU;
>>>  class AVD_COMP_TYPE;
>>> @@ -58,7 +58,8 @@ typedef struct {
>>>  class AVD_COMP {
>>>   public:
>>>    AVD_COMP();
>>> -  explicit AVD_COMP(const SaNameT* dn );
>>> +  explicit AVD_COMP(const std::string& dn);
>>> +  ~AVD_COMP();
>>>
>>>  /**
>>>   * Set the presence state of the specified component, log, update
>>> IMM & check point to peer
>>> @@ -93,7 +94,7 @@ bool is_preinstantiable() const;
>>>  bool is_comp_assigned_any_csi() const;
>>>  SaAisErrorT check_comp_stability() const;
>>>
>>> -  SaNameT saAmfCompType;
>>> +  std::string saAmfCompType;
>>>
>>>    /* Detailed as in data structure definition */
>>>    AVSV_COMP_INFO comp_info;    /* component name field with
>>> @@ -136,16 +137,16 @@ SaAisErrorT check_comp_stability() const
>>>                                   * been assigned standby to this
>>> component
>>>                                   * Checkpointing - Sent update
>>> independently.
>>>                                   */
>>> -  SaNameT comp_proxy_csi;
>>> -  SaNameT comp_container_csi;
>>> +  std::string comp_proxy_csi;
>>> +  std::string comp_container_csi;
>>>
>>>    /* runtime attributes */
>>>    SaAmfOperationalStateT saAmfCompOperState;
>>>    SaAmfReadinessStateT   saAmfCompReadinessState;
>>>    SaAmfPresenceStateT    saAmfCompPresenceState;
>>>    SaUint32T              saAmfCompRestartCount;
>>> -  SaNameT                saAmfCompCurrProxyName;
>>> -  SaNameT              **saAmfCompCurrProxiedNames;
>>> +  std::string            saAmfCompCurrProxyName;
>>> +  std::vector<std::string> saAmfCompCurrProxiedNames;
>>>
>>>    bool assign_flag;    /* Flag used while assigning. to mark this
>>>                           * comp has been assigned a CSI from
>>> @@ -172,10 +173,10 @@ extern AmfDb<std::string, AVD_COMP> *com
>>>  /* AMF Class SaAmfCompType */
>>>  class AVD_COMP_TYPE {
>>>   public:
>>> -  explicit AVD_COMP_TYPE(const SaNameT *dn);
>>> -  SaNameT name {};
>>> +  explicit AVD_COMP_TYPE(const std::string& dn);
>>> +  std::string name {};
>>>    SaUint32T saAmfCtCompCategory {};
>>> -  SaNameT saAmfCtSwBundle {};
>>> +  std::string saAmfCtSwBundle {};
>>>    char saAmfCtDefCmdEnv[AVSV_MISC_STR_MAX_SIZE] {};
>>>    SaTimeT saAmfCtDefClcCliTimeout {};
>>>    SaTimeT saAmfCtDefCallbackTimeout {};
>>> @@ -208,14 +209,14 @@ class AVD_COMPCS_TYPE {
>>>  public:
>>>      AVD_COMPCS_TYPE();
>>>
>>> -    explicit AVD_COMPCS_TYPE(const SaNameT *dn);
>>> +    explicit AVD_COMPCS_TYPE(const std::string& dn);
>>>
>>> -    SaNameT name {};
>>> +    std::string name {};
>>>      SaUint32T saAmfCompNumMaxActiveCSIs {};
>>>      SaUint32T saAmfCompNumMaxStandbyCSIs {};
>>>      SaUint32T saAmfCompNumCurrActiveCSIs {};
>>>      SaUint32T saAmfCompNumCurrStandbyCSIs {};
>>> -    std::vector<SaNameT> saAmfCompAssignedCsi {};
>>> +    std::vector<std::string> saAmfCompAssignedCsi {};
>>>      AVD_COMP *comp {};
>>>  private:
>>>      // disallow copy and assign
>>> @@ -227,9 +228,9 @@ extern  AmfDb<std::string, AVD_COMPCS_TY
>>>  /* AMF Class SaAmfCtCsType */
>>>  class AVD_CTCS_TYPE {
>>>   public:
>>> -  explicit AVD_CTCS_TYPE(const SaNameT *dn);
>>> +  explicit AVD_CTCS_TYPE(const std::string& dn);
>>>
>>> -  SaNameT name {};
>>> +  std::string name {};
>>>    SaAmfCompCapabilityModelT saAmfCtCompCapability {};
>>>    SaUint32T saAmfCtDefNumMaxActiveCSIs {};
>>>    SaUint32T saAmfCtDefNumMaxStandbyCSIs {};
>>> @@ -247,14 +248,14 @@ extern AVD_COMP_GLOBALATTR avd_comp_glob
>>>
>>>  extern void avd_comp_db_add(AVD_COMP *comp);
>>>
>>> -extern AVD_COMP *avd_comp_new(const SaNameT *dn);
>>> +extern AVD_COMP *avd_comp_new(const std::string& dn);
>>>  extern void avd_comp_delete(AVD_COMP *comp);
>>>  extern void avd_su_remove_comp(AVD_COMP* comp);
>>> -extern SaAisErrorT avd_comp_config_get(const SaNameT* su_name,
>>> AVD_SU *su);
>>> +extern SaAisErrorT avd_comp_config_get(const std::string& su_name,
>>> AVD_SU *su);
>>>  extern void avd_comp_constructor(void);
>>>
>>>  extern SaAisErrorT avd_comptype_config_get(void);
>>> -extern AVD_COMP_TYPE *avd_comptype_get(const SaNameT *comp_type_name);
>>> +extern AVD_COMP_TYPE *avd_comptype_get(const std::string&
>>> comp_type_name);
>>>  extern void avd_comptype_add_comp(AVD_COMP *comp);
>>>  extern void avd_comptype_remove_comp(AVD_COMP *comp);
>>>  extern void avd_comptype_constructor(void);
>>> @@ -262,19 +263,22 @@ extern void avd_comptype_constructor(voi
>>>  extern SaAisErrorT avd_compglobalattrs_config_get(void);
>>>  extern void avd_compglobalattrs_constructor(void);
>>>
>>> -extern SaAisErrorT avd_ctcstype_config_get(const SaNameT
>>> *comp_type_dn, AVD_COMP_TYPE *comp_type);
>>> +extern SaAisErrorT avd_ctcstype_config_get(const std::string&
>>> comp_type_dn, AVD_COMP_TYPE *comp_type);
>>>  extern void avd_ctcstype_constructor(void);
>>>
>>> -extern AVD_COMPCS_TYPE *avd_compcstype_new(const SaNameT *dn);
>>> +extern AVD_COMPCS_TYPE *avd_compcstype_new(const std::string& dn);
>>>  extern void avd_compcstype_delete(AVD_COMPCS_TYPE **cst);
>>>  extern void avd_compcstype_db_add(AVD_COMPCS_TYPE *cst);
>>> -extern SaAisErrorT avd_compcstype_config_get(SaNameT *comp_name,
>>> AVD_COMP *comp);
>>> -extern AVD_COMPCS_TYPE *avd_compcstype_create(const SaNameT *dn,
>>> const SaImmAttrValuesT_2 **attributes);
>>> -extern AVD_COMPCS_TYPE *avd_compcstype_get(const SaNameT *dn);
>>> -extern AVD_COMPCS_TYPE *avd_compcstype_getnext(const SaNameT *dn);
>>> -extern AVD_COMPCS_TYPE * avd_compcstype_find_match(const SaNameT
>>> *csi, const AVD_COMP *comp);
>>> +extern SaAisErrorT avd_compcstype_config_get(const std::string&
>>> comp_name, AVD_COMP *comp);
>>> +extern AVD_COMPCS_TYPE *avd_compcstype_create(const std::string& dn,
>>> const SaImmAttrValuesT_2 **attributes);
>>> +extern AVD_COMPCS_TYPE *avd_compcstype_get(const std::string& dn);
>>> +extern AVD_COMPCS_TYPE *avd_compcstype_getnext(const std::string& dn);
>>> +extern AVD_COMPCS_TYPE * avd_compcstype_find_match(const
>>> std::string& csi, const AVD_COMP *comp);
>>>  extern void avd_compcstype_constructor(void);
>>> -extern AVD_COMP *avd_comp_get_or_create(const SaNameT *dn);
>>> -extern AVD_CTCS_TYPE *get_ctcstype(const SaNameT *comptype_name,
>>> const SaNameT *cstype_name);
>>> +extern AVD_COMP *avd_comp_get_or_create(const std::string& dn);
>>> +bool comp_is_preinstantiable(const AVD_COMP *comp);
>>> +extern bool is_comp_assigned_any_csi(AVD_COMP *comp);
>>> +extern SaAisErrorT check_comp_stability(const AVD_COMP*);
>>> +extern AVD_CTCS_TYPE *get_ctcstype(const std::string& comptype_name,
>>> const std::string& cstype_name);
>>>  extern void comp_ccb_apply_delete_hdlr(struct CcbUtilOperationData
>>> *opdata);
>>>  #endif
>>> diff --git a/osaf/services/saf/amf/amfd/include/csi.h
>>> b/osaf/services/saf/amf/amfd/include/csi.h
>>> --- a/osaf/services/saf/amf/amfd/include/csi.h
>>> +++ b/osaf/services/saf/amf/amfd/include/csi.h
>>> @@ -45,7 +45,7 @@ typedef struct avd_csi_attr_tag {
>>>  } AVD_CSI_ATTR;
>>>
>>>  typedef struct avd_csi_deps_tag {
>>> -    SaNameT csi_dep_name_value; /* CSI dependency name and value */
>>> +    std::string csi_dep_name_value; /* CSI dependency name and value */
>>>      struct avd_csi_deps_tag *csi_dep_next; /* the next CSI
>>> dependency in the list */
>>>  } AVD_CSI_DEPS;
>>>
>>> @@ -57,10 +57,10 @@ class AVD_CS_TYPE;
>>>   */
>>>  class AVD_CSI {
>>>   public:
>>> -  explicit AVD_CSI(const SaNameT* csi_name);
>>> +  explicit AVD_CSI(const std::string& csi_name);
>>>
>>> -  SaNameT name {};
>>> -  SaNameT saAmfCSType {};
>>> +  std::string name {};
>>> +  std::string saAmfCSType {};
>>>    AVD_CSI_DEPS *saAmfCSIDependencies {}; /* list of all CSI
>>> dependencies for this CSI */
>>>    /* Rank is calculated based on CSI dependency. If no dependency
>>> configured then rank will be 1.
>>>       Else rank will one more than rank of saAmfCSIDependencies. */
>>> @@ -85,7 +85,7 @@ class AVD_CSI {
>>>    bool assign_flag = false;   /* Flag used while assigning. to mark
>>> this csi has been assigned a Comp
>>>                           from * current SI being assigned */
>>>
>>> -  static AVD_COMP* find_assigned_comp(const SaNameT *cstype, const
>>> AVD_SU_SI_REL *sisu, const std::vector<AVD_COMP*> &list_of_comp);
>>> +  static AVD_COMP* find_assigned_comp(const std::string& cstype,
>>> const AVD_SU_SI_REL *sisu, const std::vector<AVD_COMP*> &list_of_comp);
>>>
>>>   private:
>>>    AVD_CSI();
>>> @@ -98,9 +98,9 @@ extern AmfDb<std::string, AVD_CSI> *csi_
>>>
>>>  class AVD_CS_TYPE {
>>>   public:
>>> -  explicit AVD_CS_TYPE(const SaNameT *dn);
>>> -  SaNameT name {};        /* name of the CSType */
>>> -  SaStringT *saAmfCSAttrName {};
>>> +  explicit AVD_CS_TYPE(const std::string& dn);
>>> +  std::string name {};        /* name of the CSType */
>>> +  std::vector<std::string> saAmfCSAttrName {};
>>>    AVD_CSI *list_of_csi {};
>>>
>>>   private:
>>> @@ -135,7 +135,7 @@ typedef struct avd_comp_csi_rel_tag {
>>>   *
>>>   * @return AVD_CSI*
>>>   */
>>> -extern AVD_CSI *avd_csi_get(const SaNameT *csi_name);
>>> +extern AVD_CSI *avd_csi_get(const std::string& csi_name);
>>>
>>>  /**
>>>   * Create a AVD_COMP_CSI_REL and link it with the specified SUSI & CSI.
>>> @@ -164,23 +164,23 @@ extern AVD_COMP_CSI_REL *avd_compcsi_cre
>>>  extern uint32_t avd_compcsi_delete(AVD_CL_CB *cb, struct
>>> avd_su_si_rel_tag *susi, bool ckpt);
>>>
>>>  extern SaAisErrorT avd_cstype_config_get(void);
>>> -extern SaAisErrorT avd_csi_config_get(const SaNameT *si_name, AVD_SI
>>> *si);
>>> +extern SaAisErrorT avd_csi_config_get(const std::string& si_name,
>>> AVD_SI *si);
>>>
>>>  extern void avd_csi_add_csiattr(AVD_CSI *csi, AVD_CSI_ATTR *csiattr);
>>>  extern void avd_csi_remove_csiattr(AVD_CSI *csi, AVD_CSI_ATTR *attr);
>>>  extern void avd_csi_constructor(void);
>>>
>>> -extern AVD_CS_TYPE *avd_cstype_get(const SaNameT *dn);
>>> +extern AVD_CS_TYPE *avd_cstype_get(const std::string& dn);
>>>  extern void avd_cstype_add_csi(AVD_CSI *csi);
>>>  extern void avd_cstype_remove_csi(AVD_CSI *csi);
>>>  extern void avd_cstype_constructor(void);
>>>
>>> -extern SaAisErrorT avd_csiattr_config_get(const SaNameT *csi_name,
>>> AVD_CSI *csi);
>>> +extern SaAisErrorT avd_csiattr_config_get(const std::string&
>>> csi_name, AVD_CSI *csi);
>>>  extern void avd_csiattr_constructor(void);
>>>  extern void avd_compcsi_from_csi_and_susi_delete(struct
>>> avd_su_si_rel_tag *susi, struct avd_comp_csi_rel_tag *comp_csi, bool
>>> ckpt);
>>>  extern void avd_csi_delete(AVD_CSI *csi);
>>>  extern void csi_cmplt_delete(AVD_CSI *csi, bool ckpt);
>>> -extern AVD_CSI *csi_create(const SaNameT *csi_name);
>>> +extern AVD_CSI *csi_create(const std::string& csi_name);
>>>  extern bool csi_assignment_validate(AVD_SG *sg);
>>>  extern SaAisErrorT csi_assign_hdlr(AVD_CSI *csi);
>>>  extern bool are_sponsor_csis_assigned_in_su(AVD_CSI *dep_csi, AVD_SU
>>> *su);
>>> diff --git a/osaf/services/saf/amf/amfd/include/evt.h
>>> b/osaf/services/saf/amf/amfd/include/evt.h
>>> --- a/osaf/services/saf/amf/amfd/include/evt.h
>>> +++ b/osaf/services/saf/amf/amfd/include/evt.h
>>> @@ -73,19 +73,21 @@ typedef enum avd_evt_type {
>>>      AVD_EVT_MAX
>>>  } AVD_EVT_TYPE;
>>>
>>> +union AVD_EVT_INFO {
>>> +    AVD_DND_MSG *avnd_msg;
>>> +    AVD_D2D_MSG *avd_msg;
>>> +    SaClmNodeIdT node_id;
>>> +    AVD_TMR tmr;
>>> +    AVD_EVT_INFO() {new(&tmr) AVD_TMR();}
>>> +    ~AVD_EVT_INFO() {tmr.~AVD_TMR();}
>>> +};
>>> +
>>>  /* AVD top-level event structure */
>>> -typedef struct avd_evt_tag {
>>> +struct AVD_EVT {
>>>      NCS_IPC_MSG next;
>>>      AVD_EVT_TYPE rcv_evt;
>>> -
>>> -    union {
>>> -        AVD_DND_MSG *avnd_msg;
>>> -        AVD_D2D_MSG *avd_msg;
>>> -        SaClmNodeIdT node_id;
>>> -        AVD_TMR tmr;
>>> -    } info;
>>> -
>>> -} AVD_EVT;
>>> +    AVD_EVT_INFO info;
>>> +};
>>>
>>>  #define AVD_EVT_NULL ((AVD_EVT *)0)
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/imm.h
>>> b/osaf/services/saf/amf/amfd/include/imm.h
>>> --- a/osaf/services/saf/amf/amfd/include/imm.h
>>> +++ b/osaf/services/saf/amf/amfd/include/imm.h
>>> @@ -26,6 +26,7 @@
>>>
>>>  #include <immutil.h>
>>>  #include <queue>
>>> +#include <string>
>>>
>>>  typedef void (*AvdImmOiCcbApplyCallbackT) (CcbUtilOperationData_t
>>> *opdata);
>>>  typedef SaAisErrorT (*AvdImmOiCcbCompletedCallbackT)
>>> (CcbUtilOperationData_t *opdata);
>>> @@ -59,7 +60,7 @@ public:
>>>  class ImmObjCreate : public Job {
>>>  public:
>>>      SaImmClassNameT className_;
>>> -    SaNameT parentName_;
>>> +    std::string parentName_;
>>>      const SaImmAttrValuesT_2 **attrValues_;
>>>
>>>      AvdJobDequeueResultT exec(SaImmOiHandleT immOiHandle);
>>> @@ -70,7 +71,7 @@ public:
>>>  //
>>>  class ImmObjUpdate : public Job {
>>>  public:
>>> -    SaNameT dn_;
>>> +    std::string dn;
>>>      SaImmAttrNameT attributeName_;
>>>      SaImmValueTypeT attrValueType_;
>>>      void *value_;
>>> @@ -83,11 +84,11 @@ public:
>>>  //
>>>  class ImmObjDelete : public Job {
>>>  public:
>>> -    SaNameT dn_;
>>> +    std::string dn;
>>>
>>>      AvdJobDequeueResultT exec(SaImmOiHandleT immOiHandle);
>>>
>>> -    ~ImmObjDelete() {}
>>> +    ~ImmObjDelete();
>>>  };
>>>
>>>  class ImmAdminResponse : public Job {
>>> @@ -135,7 +136,7 @@ private:
>>>   * @param ccb_apply_cb
>>>   * @param ccb_abort_cb
>>>   */
>>> -void avd_class_impl_set(const char *className,
>>> +void avd_class_impl_set(const std::string& className,
>>>      SaImmOiRtAttrUpdateCallbackT rtattr_cb,
>>> SaImmOiAdminOperationCallbackT_2 adminop_cb,
>>>      AvdImmOiCcbCompletedCallbackT ccb_compl_cb,
>>> AvdImmOiCcbApplyCallbackT ccb_apply_cb);
>>>  /**
>>> @@ -149,13 +150,13 @@ void avd_class_impl_set(const char *clas
>>>  SaAisErrorT avd_imm_default_OK_completed_cb(CcbUtilOperationData_t
>>> *opdata);
>>>
>>>  extern unsigned int avd_imm_config_get(void);
>>> -extern SaAisErrorT avd_saImmOiRtObjectUpdate_sync(const SaNameT *dn,
>>> +extern SaAisErrorT avd_saImmOiRtObjectUpdate_sync(const std::string&
>>> dn,
>>>      SaImmAttrNameT attributeName, SaImmValueTypeT attrValueType,
>>> void *value);
>>> -extern void avd_saImmOiRtObjectUpdate(const SaNameT* dn, const char
>>> *attributeName,
>>> +extern void avd_saImmOiRtObjectUpdate(const std::string& dn, const
>>> std::string& attributeName,
>>>       SaImmValueTypeT attrValueType, void* value);
>>> -extern void avd_saImmOiRtObjectCreate(const char *className,
>>> -    const SaNameT *parentName, const SaImmAttrValuesT_2 **attrValues);
>>> -extern void avd_saImmOiRtObjectDelete(const SaNameT* objectName);
>>> +extern void avd_saImmOiRtObjectCreate(const std::string& lassName,
>>> +    const std::string& parentName, const SaImmAttrValuesT_2
>>> **attrValues);
>>> +extern void avd_saImmOiRtObjectDelete(const std::string& objectName);
>>>
>>>  extern void avd_imm_reinit_bg(void);
>>>  extern void avd_saImmOiAdminOperationResult(SaImmOiHandleT immOiHandle,
>>> diff --git a/osaf/services/saf/amf/amfd/include/node.h
>>> b/osaf/services/saf/amf/amfd/include/node.h
>>> --- a/osaf/services/saf/amf/amfd/include/node.h
>>> +++ b/osaf/services/saf/amf/amfd/include/node.h
>>> @@ -41,9 +41,10 @@
>>>  #include <su.h>
>>>  #include <amf_d2nmsg.h>
>>>  #include <timer.h>
>>> -#include <db_template.h>
>>> +#include <amf_db_template.h>
>>>  #include <set>
>>>  #include <vector>
>>> +#include <string>
>>>
>>>  class AVD_SU;
>>>  struct avd_cluster_tag;
>>> @@ -76,12 +77,12 @@ class AVD_AMF_NG;
>>>  class AVD_AVND {
>>>   public:
>>>    AVD_AVND();
>>> -  explicit AVD_AVND(const SaNameT* dn);
>>> +  explicit AVD_AVND(const std::string& dn);
>>>    ~AVD_AVND();
>>>
>>>    bool is_node_lock();
>>> -  SaNameT name; /* DN */
>>> -  char *node_name;    /* RDN value, normally the short host name */
>>> +  std::string name; /* DN */
>>> +  std::string node_name;    /* RDN value, normally the short host
>>> name */
>>>    SaClmClusterNodeT_4 node_info;    /* the node information of the
>>> node on
>>>                       * which this AvND exists. The length
>>>                       * field of nodeName structure is in
>>> @@ -95,7 +96,7 @@ class AVD_AVND {
>>>                   * Checkpointing - Sent on node up.
>>>                   */
>>>    /************ AMF B.04
>>> **************************************************/
>>> -  SaNameT saAmfNodeClmNode;
>>> +  std::string saAmfNodeClmNode;
>>>    char *saAmfNodeCapacity;
>>>    SaTimeT saAmfNodeSuFailOverProb;
>>>    SaUint32T saAmfNodeSuFailoverMax;
>>> @@ -165,7 +166,7 @@ class AVD_AMF_NG {
>>>  public:
>>>      AVD_AMF_NG();
>>>
>>> -    SaNameT name;
>>> +    std::string name;
>>>      std::set<std::string> saAmfNGNodeList;
>>>
>>>      /* number of element in saAmfNGNodeList */
>>> @@ -198,16 +199,14 @@ m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(cb, nod
>>>  }
>>>
>>>  /* AMF Node */
>>> -extern AVD_AVND *avd_node_new(const SaNameT *dn);
>>> +extern AVD_AVND *avd_node_new(const std::string& dn);
>>>  extern void avd_node_delete(AVD_AVND *avnd);
>>>  extern void avd_node_db_add(AVD_AVND *node);
>>> -extern AVD_AVND *avd_node_get(const SaNameT *node_name);
>>>  extern AVD_AVND *avd_node_get(const std::string& node_name);
>>> -extern AVD_AVND *avd_node_getnext(const SaNameT *node_name);
>>> +extern AVD_AVND *avd_node_getnext(const std::string& node_name);
>>>  extern uint32_t avd_node_add_nodeid(AVD_AVND *avnd);
>>>  extern void avd_node_delete_nodeid(AVD_AVND *node);
>>>  extern AVD_AVND *avd_node_find_nodeid(SaClmNodeIdT node_id);
>>> -extern AVD_AVND *avd_node_get(const SaNameT *dn);
>>>  extern SaAisErrorT avd_node_config_get(void);
>>>  extern void avd_node_state_set(AVD_AVND *node, AVD_AVND_STATE
>>> node_state);
>>>  extern void avd_node_oper_state_set(AVD_AVND *node,
>>> SaAmfOperationalStateT oper_state);
>>> @@ -222,7 +221,7 @@ extern void avd_node_admin_lock_unlock_s
>>>  extern void node_reset_su_try_inst_counter(const AVD_AVND *node);
>>>  /* AMF Node group */
>>>  extern SaAisErrorT avd_ng_config_get(void);
>>> -extern AVD_AMF_NG *avd_ng_get(const SaNameT *dn);
>>> +extern AVD_AMF_NG *avd_ng_get(const std::string& dn);
>>>  extern void avd_ng_constructor(void);
>>>  extern bool node_in_nodegroup(const std::string& node, const
>>> AVD_AMF_NG *ng);
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/ntf.h
>>> b/osaf/services/saf/amf/amfd/include/ntf.h
>>> --- a/osaf/services/saf/amf/amfd/include/ntf.h
>>> +++ b/osaf/services/saf/amf/amfd/include/ntf.h
>>> @@ -45,32 +45,32 @@ typedef enum {
>>>  } SaAmfExtraNotificationMinorIdT;
>>>
>>>  /* Alarms */
>>> -void avd_send_comp_inst_failed_alarm(const SaNameT *comp_name, const
>>> SaNameT *node_name);
>>> -void avd_send_comp_clean_failed_alarm(const SaNameT *comp_name,
>>> const SaNameT *node_name);
>>> -void avd_send_cluster_reset_alarm(const SaNameT *comp_name);
>>> -void avd_send_si_unassigned_alarm(const SaNameT *si_name);
>>> -void avd_send_comp_proxy_status_unproxied_alarm(const SaNameT
>>> *comp_name);
>>> +void avd_send_comp_inst_failed_alarm(const std::string& comp_name,
>>> const std::string& node_name);
>>> +void avd_send_comp_clean_failed_alarm(const std::string& comp_name,
>>> const std::string& node_name);
>>> +void avd_send_cluster_reset_alarm(const std::string& comp_name);
>>> +void avd_send_si_unassigned_alarm(const std::string& si_name);
>>> +void avd_send_comp_proxy_status_unproxied_alarm(const std::string&
>>> comp_name);
>>>
>>>  /* Notifications */
>>> -void avd_send_admin_state_chg_ntf(const SaNameT *name,
>>> SaAmfNotificationMinorIdT minor_id,
>>> +void avd_send_admin_state_chg_ntf(const std::string& name,
>>> SaAmfNotificationMinorIdT minor_id,
>>>                      SaAmfAdminStateT old_state, SaAmfAdminStateT
>>> new_state);
>>> -void avd_send_oper_chg_ntf(const SaNameT *name,
>>> SaAmfNotificationMinorIdT minor_id,
>>> +void avd_send_oper_chg_ntf(const std::string& name,
>>> SaAmfNotificationMinorIdT minor_id,
>>>                      SaAmfOperationalStateT old_state,
>>> SaAmfOperationalStateT new_state);
>>> -void avd_send_su_pres_state_chg_ntf(const SaNameT *su_name,
>>> SaAmfPresenceStateT old_state,
>>> +void avd_send_su_pres_state_chg_ntf(const std::string& su_name,
>>> SaAmfPresenceStateT old_state,
>>>                      SaAmfPresenceStateT new_state);
>>> -void avd_send_su_ha_state_chg_ntf(const SaNameT *su_name, const
>>> SaNameT *si_name,
>>> +void avd_send_su_ha_state_chg_ntf(const std::string& su_name, const
>>> std::string& si_name,
>>>                      SaAmfHAStateT old_state, SaAmfHAStateT new_state);
>>> -void avd_send_su_ha_readiness_state_chg_ntf(const SaNameT *su_name,
>>> const SaNameT *si_name,
>>> +void avd_send_su_ha_readiness_state_chg_ntf(const std::string&
>>> su_name, const std::string& si_name,
>>>                      SaAmfHAReadinessStateT old_state,
>>> SaAmfHAReadinessStateT new_state);
>>> -void avd_send_si_assigned_ntf(const SaNameT *si_name,
>>> SaAmfAssignmentStateT old_state,
>>> +void avd_send_si_assigned_ntf(const std::string& si_name,
>>> SaAmfAssignmentStateT old_state,
>>>                      SaAmfAssignmentStateT new_state);
>>> -void avd_send_comp_proxy_status_proxied_ntf(const SaNameT *comp_name,
>>> +void avd_send_comp_proxy_status_proxied_ntf(const std::string&
>>> comp_name,
>>>                      SaAmfProxyStatusT old_state, SaAmfProxyStatusT
>>> new_state);
>>>
>>>  /* general functions */
>>>  SaAisErrorT fill_ntf_header_part(SaNtfNotificationHeaderT
>>> *notificationHeader,
>>>                     SaNtfEventTypeT eventType,
>>> -                   SaNameT *comp_name,
>>> +                   const std::string& comp_name,
>>>                     SaUint8T *add_text,
>>>                     SaUint16T majorId,
>>>                     SaUint16T minorId,
>>> @@ -79,7 +79,7 @@ SaAisErrorT fill_ntf_header_part(SaNtfNo
>>>                     int type); /* add_info 0 --> no,  1--> node_name,
>>> 2--> si_name*/
>>>
>>>  uint32_t sendAlarmNotificationAvd(AVD_CL_CB *avd_cb,
>>> -                    const SaNameT &comp_name,
>>> +                    const std::string& comp_name,
>>>                      SaUint8T *add_text,
>>>                      SaUint16T majorId,
>>>                      SaUint16T minorId,
>>> @@ -89,7 +89,7 @@ uint32_t sendAlarmNotificationAvd(AVD_CL
>>>                      int type); /* add_info 0 --> no, 1--> node_name,
>>> 2--> si_name*/
>>>
>>>  uint32_t sendStateChangeNotificationAvd(AVD_CL_CB *avd_cb,
>>> -                          const SaNameT &comp_name,
>>> +                          const std::string& comp_name,
>>>                            SaUint8T *add_text,
>>>                            SaUint16T majorId,
>>>                            SaUint16T minorId,
>>> @@ -101,8 +101,8 @@ uint32_t sendStateChangeNotificationAvd(
>>>                            int type); /* add_info 0 --> no, 1-->
>>> node_name, 2--> si_name*/
>>>
>>>  /* Clearing of alarms */
>>> -void avd_alarm_clear(const SaNameT *name, SaUint16T minorId,
>>> uint32_t probableCause);
>>> +void avd_alarm_clear(const std::string& name, SaUint16T minorId,
>>> uint32_t probableCause);
>>>
>>> -void avd_send_error_report_ntf(const SaNameT *name,
>>> SaAmfRecommendedRecoveryT recovery);
>>> +void avd_send_error_report_ntf(const std::string& name,
>>> SaAmfRecommendedRecoveryT recovery);
>>>
>>>  #endif
>>> diff --git a/osaf/services/saf/amf/amfd/include/pg.h
>>> b/osaf/services/saf/amf/amfd/include/pg.h
>>> --- a/osaf/services/saf/amf/amfd/include/pg.h
>>> +++ b/osaf/services/saf/amf/amfd/include/pg.h
>>> @@ -49,7 +49,7 @@ typedef struct avd_pg_node_csi {
>>>      AVD_CSI *csi;        /* ptr to the csi */
>>>  } AVD_PG_NODE_CSI;
>>>
>>> -void avd_pg_trk_act_evh(AVD_CL_CB *, struct avd_evt_tag *);
>>> +void avd_pg_trk_act_evh(AVD_CL_CB *, struct AVD_EVT *);
>>>
>>>  uint32_t avd_pg_susi_chg_prc(AVD_CL_CB *, AVD_SU_SI_REL *);
>>>  uint32_t avd_pg_compcsi_chg_prc(AVD_CL_CB *, struct
>>> avd_comp_csi_rel_tag *, bool);
>>> diff --git a/osaf/services/saf/amf/amfd/include/proc.h
>>> b/osaf/services/saf/amf/amfd/include/proc.h
>>> --- a/osaf/services/saf/amf/amfd/include/proc.h
>>> +++ b/osaf/services/saf/amf/amfd/include/proc.h
>>> @@ -39,8 +39,8 @@
>>>
>>>  typedef void (*AVD_EVT_HDLR) (AVD_CL_CB *, AVD_EVT *);
>>>
>>> -void avd_su_oper_state_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_su_si_assign_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> +void avd_su_oper_state_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_su_si_assign_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  uint32_t avd_new_assgn_susi(AVD_CL_CB *cb, AVD_SU *su, AVD_SI *si,
>>>                    SaAmfHAStateT role, bool ckpt, AVD_SU_SI_REL
>>> **ret_ptr);
>>>  void su_try_repair(const AVD_SU *su);
>>> @@ -63,29 +63,29 @@ uint32_t avd_count_node_up(AVD_CL_CB *cb
>>>  uint32_t avd_evt_queue_count(AVD_CL_CB *cb);
>>>  uint32_t avd_count_sync_node_size(AVD_CL_CB *cb);
>>>  void avd_process_state_info_queue(AVD_CL_CB *cb);
>>> -void avd_node_up_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_reg_su_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_oper_req_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_mds_avnd_up_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> +void avd_node_up_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_reg_su_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_oper_req_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_mds_avnd_up_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  void avd_ack_nack_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  void avd_comp_validation_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  void avd_fail_over_event(AVD_CL_CB *cb);
>>> -void avd_mds_avnd_down_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> +void avd_mds_avnd_down_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  void avd_data_update_req_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  void avd_role_switch_ncs_su_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  void avd_mds_qsd_role_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  void avd_node_down_appl_susi_failover(AVD_CL_CB *cb, AVD_AVND *avnd);
>>>  void avd_node_down_mw_susi_failover(AVD_CL_CB *cb, AVD_AVND *avnd);
>>>  void avd_node_down_func(AVD_CL_CB *cb, AVD_AVND *avnd);
>>> -void avd_nd_sisu_state_info_evh(AVD_CL_CB *cb, struct avd_evt_tag
>>> *evt);
>>> -void avd_nd_compcsi_state_info_evh(AVD_CL_CB *cb, struct avd_evt_tag
>>> *evt);
>>> +void avd_nd_sisu_state_info_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_nd_compcsi_state_info_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  uint32_t avd_node_down(AVD_CL_CB *cb, SaClmNodeIdT node_id);
>>>  AVD_AVND *avd_msg_sanity_chk(AVD_EVT *evt, SaClmNodeIdT node_id,
>>>      AVSV_DND_MSG_TYPE msg_typ, uint32_t msg_id);
>>>  void avd_nd_ncs_su_assigned(AVD_CL_CB *cb, AVD_AVND *avnd);
>>>  void avd_nd_ncs_su_failed(AVD_CL_CB *cb, AVD_AVND *avnd);
>>> -void avd_rcv_hb_d_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_process_hb_event(AVD_CL_CB *cb_now, struct avd_evt_tag *evt);
>>> +void avd_rcv_hb_d_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_process_hb_event(AVD_CL_CB *cb_now, struct AVD_EVT *evt);
>>>  extern void avd_node_mark_absent(AVD_AVND *node);
>>>  extern void avd_tmr_snd_hb_evh(AVD_CL_CB *cb, AVD_EVT *evt);
>>>  extern void avd_node_failover(AVD_AVND *node);
>>> diff --git a/osaf/services/saf/amf/amfd/include/sg.h
>>> b/osaf/services/saf/amf/amfd/include/sg.h
>>> --- a/osaf/services/saf/amf/amfd/include/sg.h
>>> +++ b/osaf/services/saf/amf/amfd/include/sg.h
>>> @@ -40,7 +40,6 @@
>>>  #include <sgtype.h>
>>>  #include <amf_defs.h>
>>>  #include <amf_d2nmsg.h>
>>> -#include "db_template.h"
>>>  #include "node.h"
>>>  #include <list>
>>>
>>> @@ -70,14 +69,14 @@ public:
>>>      AVD_SG();
>>>      virtual ~AVD_SG() {};
>>>
>>> -    SaNameT name;        /* the service group DN used as the index.
>>> +    std::string name;        /* the service group DN used as the index.
>>>                   * Checkpointing - Sent as a one time update.
>>>                   */
>>>
>>>      bool saAmfSGAutoRepair_configured; /* True when user configures
>>> saAmfSGAutoRepair else false */
>>>     /******************** B.04 model
>>> *************************************************/
>>> -    SaNameT saAmfSGType;    /* Network order. */
>>> -    SaNameT saAmfSGSuHostNodeGroup;    /* Network order. */
>>> +    std::string saAmfSGType;    /* Network order. */
>>> +    std::string saAmfSGSuHostNodeGroup;    /* Network order. */
>>>      SaBoolT saAmfSGAutoRepair;
>>>      SaBoolT saAmfSGAutoAdjust;
>>>
>>> @@ -578,7 +577,7 @@ private:
>>>  extern void avd_sg_delete(AVD_SG *sg);
>>>  extern void avd_sg_db_add(AVD_SG *sg);
>>>  extern void avd_sg_db_remove(AVD_SG *sg);
>>> -extern SaAisErrorT avd_sg_config_get(const SaNameT *app_dn, AVD_APP
>>> *app);
>>> +extern SaAisErrorT avd_sg_config_get(const std::string& app_dn,
>>> AVD_APP *app);
>>>  extern void avd_sg_add_su(AVD_SU *su);
>>>  extern void avd_sg_remove_su(AVD_SU *su);
>>>  extern void avd_sg_constructor(void);
>>> diff --git a/osaf/services/saf/amf/amfd/include/sgtype.h
>>> b/osaf/services/saf/amf/amfd/include/sgtype.h
>>> --- a/osaf/services/saf/amf/amfd/include/sgtype.h
>>> +++ b/osaf/services/saf/amf/amfd/include/sgtype.h
>>> @@ -26,18 +26,18 @@
>>>  #define AVD_SGTYPE_H
>>>
>>>  #include <saAmf.h>
>>> -#include <include/db_template.h>
>>> +#include <amf_db_template.h>
>>>  #include <vector>
>>>
>>>  class AVD_SG;
>>>
>>>  class AVD_AMF_SG_TYPE {
>>>   public:
>>> -  explicit AVD_AMF_SG_TYPE(const SaNameT *dn);
>>> -  SaNameT name {};
>>> +  explicit AVD_AMF_SG_TYPE(const std::string& dn);
>>> +  std::string name {};
>>>    bool saAmfSgtDefAutoRepair_configured {}; /* True when user
>>> configures saAmfSGDefAutoRepair else false */
>>>     /******************** B.04 model
>>> *************************************************/
>>> -  SaNameT *saAmfSGtValidSuTypes {};    /* array of DNs, size in
>>> number_su_type */
>>> +  std::vector<std::string> saAmfSGtValidSuTypes {};    /* array of
>>> DNs, size in number_su_type */
>>>    SaAmfRedundancyModelT saAmfSgtRedundancyModel {};
>>>    SaBoolT saAmfSgtDefAutoRepair {};
>>>    SaBoolT saAmfSgtDefAutoAdjust {};
>>> @@ -61,7 +61,7 @@ class AVD_AMF_SG_TYPE {
>>>
>>>  extern AmfDb<std::string, AVD_AMF_SG_TYPE> *sgtype_db;
>>>  SaAisErrorT avd_sgtype_config_get(void);
>>> -AVD_AMF_SG_TYPE *avd_sgtype_get(const SaNameT *dn);
>>> +AVD_AMF_SG_TYPE *avd_sgtype_get(const std::string& dn);
>>>  void avd_sgtype_add_sg(AVD_SG *sg);
>>>  void avd_sgtype_remove_sg(AVD_SG *sg);
>>>  void avd_sgtype_constructor(void);
>>> diff --git a/osaf/services/saf/amf/amfd/include/si.h
>>> b/osaf/services/saf/amf/amfd/include/si.h
>>> --- a/osaf/services/saf/amf/amfd/include/si.h
>>> +++ b/osaf/services/saf/amf/amfd/include/si.h
>>> @@ -71,11 +71,11 @@ typedef enum {
>>>  class AVD_SI {
>>>  public:
>>>      AVD_SI();
>>> -    SaNameT name;
>>> +    std::string name;
>>>
>>>      /******************** B.04 model
>>> *************************************************/
>>> -    SaNameT saAmfSvcType;
>>> -    SaNameT saAmfSIProtectedbySG;
>>> +    std::string saAmfSvcType;
>>> +    std::string saAmfSIProtectedbySG;
>>>      uint32_t saAmfSIRank;
>>>      std::vector<std::string> saAmfSIActiveWeight;
>>>      std::vector<std::string> saAmfSIStandbyWeight;
>>> @@ -120,7 +120,7 @@ public:
>>>
>>>      void set_admin_state(SaAmfAdminStateT state);
>>>
>>> -    void add_rankedsu(const SaNameT *suname, uint32_t saAmfRank);
>>> +    void add_rankedsu(const std::string& suname, uint32_t saAmfRank);
>>>      void remove_rankedsu(const std::string &suname);
>>>
>>>      void set_si_switch(AVD_CL_CB *cb, const SaToggleState state);
>>> @@ -154,10 +154,10 @@ private:
>>>  extern AmfDb<std::string, AVD_SI> *si_db;
>>>  #define AVD_SI_NULL ((AVD_SI *)0)
>>>
>>> -extern AVD_SI *avd_si_new(const SaNameT *dn);
>>> +extern AVD_SI *avd_si_new(const std::string& dn);
>>>  extern void avd_si_delete(AVD_SI *si);
>>>  extern void avd_si_db_add(AVD_SI *si);
>>> -extern AVD_SI *avd_si_get(const SaNameT *si_name);
>>> +extern AVD_SI *avd_si_get(const std::string& si_name);
>>>  extern SaAisErrorT avd_si_config_get(AVD_APP *app);
>>>  extern void avd_si_constructor(void);
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/si_dep.h
>>> b/osaf/services/saf/amf/amfd/include/si_dep.h
>>> --- a/osaf/services/saf/amf/amfd/include/si_dep.h
>>> +++ b/osaf/services/saf/amf/amfd/include/si_dep.h
>>> @@ -40,18 +40,18 @@
>>>   */
>>>  typedef struct avd_si_dep_name_list {
>>>      /* SI name */
>>> -    SaNameT si_name;
>>> +    std::string si_name;
>>>
>>>      struct avd_si_dep_name_list *next;
>>>  } AVD_SI_DEP_NAME_LIST;
>>>
>>>  class AVD_SI_DEP {
>>>  public:
>>> -        SaNameT name;
>>> +        std::string name;
>>>          AVD_SI *spons_si;
>>> -        SaNameT spons_name;
>>> +        std::string spons_name;
>>>          AVD_SI *dep_si;
>>> -        SaNameT dep_name;
>>> +        std::string dep_name;
>>>          SaTimeT saAmfToleranceTime;
>>>          AVD_TMR si_dep_timer;
>>>  };
>>> @@ -69,9 +69,9 @@ typedef struct avd_spons_si_tag {
>>>  extern AmfDb<std::pair<std::string, std::string>, AVD_SI_DEP>
>>> *sidep_db;
>>>  void sidep_spons_list_del(AVD_CL_CB *cb, AVD_SI_DEP *si_dep_rec);
>>>  AVD_SI_DEP *avd_sidep_find(AVD_SI *spons_si, AVD_SI *dep_si);
>>> -void avd_sidep_tol_tmr_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_sidep_assign_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> -void avd_sidep_unassign_evh(AVD_CL_CB *cb, struct avd_evt_tag *evt);
>>> +void avd_sidep_tol_tmr_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_sidep_assign_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>> +void avd_sidep_unassign_evh(AVD_CL_CB *cb, struct AVD_EVT *evt);
>>>  void sidep_si_screen_si_dependencies(AVD_SI *si);
>>>  void avd_sidep_update_si_dep_state_for_all_sis(AVD_SG *sg);
>>>  void sidep_stop_tol_timer(AVD_CL_CB *cb, AVD_SI *si);
>>> @@ -93,6 +93,6 @@ extern void sidep_update_si_self_dep_sta
>>>  extern void sidep_update_dependents_states(AVD_SI *si);
>>>  extern void sidep_process_ready_to_unassign_depstate(AVD_SI *dep_si);
>>>  extern void avd_sidep_sg_take_action(AVD_SG *sg);
>>> -extern void get_dependent_si_list(const SaNameT &spons_si_name,
>>> std::list<AVD_SI*>& depsi_list);
>>> +extern void get_dependent_si_list(const std::string &spons_si_name,
>>> std::list<AVD_SI*>& depsi_list);
>>>  extern void avd_sidep_activ_amfd_tol_timer_expiry(AVD_SI *spons_si,
>>> AVD_SI *dep_si);
>>>  #endif
>>> 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
>>> @@ -32,7 +32,7 @@
>>>  #include <amf_defs.h>
>>>  #include <msg.h>
>>>  #include <comp.h>
>>> -#include "include/db_template.h"
>>> +#include <amf_db_template.h>
>>>
>>>  class AVD_SG;
>>>  class AVD_SUTYPE;
>>> @@ -44,17 +44,17 @@ class AVD_SUTYPE;
>>>  class AVD_SU {
>>>   public:
>>>           AVD_SU();
>>> -    explicit AVD_SU(const SaNameT *dn);
>>> +    explicit AVD_SU(const std::string& dn);
>>>      ~AVD_SU() {};
>>>
>>> -    SaNameT name;
>>> -    SaNameT saAmfSUType;
>>> +    std::string name;
>>> +    std::string saAmfSUType;
>>>      uint32_t saAmfSURank;
>>> -    SaNameT saAmfSUHostNodeOrNodeGroup;
>>> +    std::string saAmfSUHostNodeOrNodeGroup;
>>>      bool saAmfSUFailover;
>>>      /* true when user has configured saAmfSUFailover */
>>>      bool saAmfSUFailover_configured;
>>> -    SaNameT saAmfSUMaintenanceCampaign;
>>> +    std::string saAmfSUMaintenanceCampaign;
>>>
>>>      /* runtime attributes */
>>>      SaBoolT saAmfSUPreInstantiable;  // TODO(hafe) change to bool
>>> @@ -62,7 +62,7 @@ class AVD_SU {
>>>      SaAmfAdminStateT saAmfSUAdminState;
>>>      SaAmfReadinessStateT saAmfSuReadinessState;
>>>      SaAmfPresenceStateT saAmfSUPresenceState;
>>> -    SaNameT saAmfSUHostedByNode;
>>> +    std::string saAmfSUHostedByNode;
>>>      SaUint32T saAmfSUNumCurrActiveSIs;
>>>      SaUint32T saAmfSUNumCurrStandbySIs;
>>>      SaUint32T saAmfSURestartCount;
>>> @@ -120,7 +120,7 @@ class AVD_SU {
>>>      bool is_in_service(void);
>>>      bool is_instantiable(void);
>>>      void reset_all_comps_assign_flag();
>>> -    AVD_COMP *find_unassigned_comp_that_provides_cstype(const
>>> SaNameT *cstype);
>>> +    AVD_COMP *find_unassigned_comp_that_provides_cstype(const
>>> std::string& cstype);
>>>      void disable_comps(SaAisErrorT result);
>>>      void complete_admin_op(SaAisErrorT result);
>>>      void unlock(SaImmOiHandleT immoi_handle, SaInvocationT invocation);
>>> @@ -167,7 +167,7 @@ extern AmfDb<std::string, AVD_SU> *su_db
>>>   *
>>>   * @return SaAisErrorT
>>>   */
>>> -extern SaAisErrorT avd_su_config_get(const SaNameT *sg_name, AVD_SG
>>> *sg);
>>> +extern SaAisErrorT avd_su_config_get(const std::string& sg_name,
>>> AVD_SG *sg);
>>>
>>>  /**
>>>   * Class constructor, must be called before any other function
>>> diff --git a/osaf/services/saf/amf/amfd/include/susi.h
>>> b/osaf/services/saf/amf/amfd/include/susi.h
>>> --- a/osaf/services/saf/amf/amfd/include/susi.h
>>> +++ b/osaf/services/saf/amf/amfd/include/susi.h
>>> @@ -67,14 +67,14 @@ typedef struct avd_su_si_rel_tag {
>>>      struct avd_su_si_rel_tag *si_next;    /* The next element in the
>>> list w.r.t to SI */
>>>      /* To check which comp-csi is being added/removed. */
>>>      SaBoolT csi_add_rem;
>>> -    SaNameT comp_name;
>>> -    SaNameT csi_name;
>>> +    std::string comp_name;
>>> +    std::string csi_name;
>>>  } AVD_SU_SI_REL;
>>>
>>>  /* SusperSiRank table index structure */
>>>  typedef struct avd_sus_per_si_rank_index_tag {
>>>
>>> -    SaNameT si_name;
>>> +    std::string si_name;
>>>      uint32_t su_rank;    /* The rank of the SU */
>>>
>>>  } AVD_SUS_PER_SI_RANK_INDX;
>>> @@ -84,7 +84,7 @@ typedef struct avd_sus_per_si_rank_index
>>>   */
>>>  typedef struct avd_sus_per_si_rank_tag {
>>>      AVD_SUS_PER_SI_RANK_INDX indx;    /* Table index */
>>> -    SaNameT su_name;    /* name of the SU as SaNameT */
>>> +    std::string su_name;    /* name of the SU as std::string */
>>>      AVD_SI *sus_per_si_rank_on_si;
>>>      struct avd_sus_per_si_rank_tag *sus_per_si_rank_list_si_next;
>>>
>>> @@ -137,12 +137,12 @@ extern AmfDb<std::pair<std::string, uint
>>>  }
>>>
>>>  AVD_SU_SI_REL *avd_susi_create(AVD_CL_CB *cb, AVD_SI *si, AVD_SU
>>> *su, SaAmfHAStateT state, bool ckpt);
>>> -AVD_SU_SI_REL *avd_susi_find(AVD_CL_CB *cb, const SaNameT *su_name,
>>> const SaNameT *si_name);
>>> +AVD_SU_SI_REL *avd_susi_find(AVD_CL_CB *cb, const std::string&
>>> su_name, const std::string& si_name);
>>>  extern void avd_susi_update(AVD_SU_SI_REL *susi, SaAmfHAStateT
>>> ha_state);
>>>
>>> -AVD_SU_SI_REL *avd_su_susi_find(AVD_CL_CB *cb, AVD_SU *su, const
>>> SaNameT *si_name);
>>> +AVD_SU_SI_REL *avd_su_susi_find(AVD_CL_CB *cb, AVD_SU *su, const
>>> std::string& si_name);
>>>  uint32_t avd_susi_delete(AVD_CL_CB *cb, AVD_SU_SI_REL *susi, bool
>>> ckpt);
>>> -extern SaAisErrorT avd_sirankedsu_config_get(SaNameT *si_name,
>>> AVD_SI *si);
>>> +extern SaAisErrorT avd_sirankedsu_config_get(const std::string&
>>> si_name, AVD_SI *si);
>>>  extern void avd_sirankedsu_constructor(void);
>>>  extern void avd_susi_ha_state_set(AVD_SU_SI_REL *susi, SaAmfHAStateT
>>> ha_state);
>>>  uint32_t avd_gen_su_ha_state_changed_ntf(AVD_CL_CB *avd_cb, struct
>>> avd_su_si_rel_tag *susi);
>>> diff --git a/osaf/services/saf/amf/amfd/include/sutcomptype.h
>>> b/osaf/services/saf/amf/amfd/include/sutcomptype.h
>>> --- a/osaf/services/saf/amf/amfd/include/sutcomptype.h
>>> +++ b/osaf/services/saf/amf/amfd/include/sutcomptype.h
>>> @@ -29,14 +29,14 @@
>>>  #include "sutype.h"
>>>
>>>  typedef struct {
>>> -    SaNameT name;
>>> +    std::string name;
>>>      SaUint32T saAmfSutMaxNumComponents;
>>>      SaUint32T saAmfSutMinNumComponents;
>>>      SaUint32T curr_num_components;
>>>  } AVD_SUTCOMP_TYPE;
>>>  extern AmfDb<std::string, AVD_SUTCOMP_TYPE> *sutcomptype_db;
>>>
>>> -SaAisErrorT avd_sutcomptype_config_get(SaNameT *sutype_name,
>>> AVD_SUTYPE *sut);
>>> +SaAisErrorT avd_sutcomptype_config_get(const std::string&
>>> sutype_name, AVD_SUTYPE *sut);
>>>  void avd_sutcomptype_constructor(void);
>>>
>>>  #endif
>>> diff --git a/osaf/services/saf/amf/amfd/include/sutype.h
>>> b/osaf/services/saf/amf/amfd/include/sutype.h
>>> --- a/osaf/services/saf/amf/amfd/include/sutype.h
>>> +++ b/osaf/services/saf/amf/amfd/include/sutype.h
>>> @@ -24,11 +24,11 @@
>>>
>>>  class AVD_SUTYPE {
>>>   public:
>>> -  explicit AVD_SUTYPE(const SaNameT *dn);
>>> -  SaNameT name {};
>>> +  explicit AVD_SUTYPE(const std::string& dn);
>>> +  std::string name {};
>>>    SaUint32T saAmfSutIsExternal {};
>>>    SaUint32T saAmfSutDefSUFailover {};
>>> -  SaNameT *saAmfSutProvidesSvcTypes {}; /* array of DNs, size in
>>> number_svc_types */
>>> +  std::vector<std::string> saAmfSutProvidesSvcTypes {}; /* array of
>>> DNs, size in number_svc_types */
>>>    unsigned int number_svc_types {};    /* size of array
>>> saAmfSutProvidesSvcTypes */
>>>    std::vector<AVD_SU*> list_of_su {};
>>>   private:
>>> diff --git a/osaf/services/saf/amf/amfd/include/svctype.h
>>> b/osaf/services/saf/amf/amfd/include/svctype.h
>>> --- a/osaf/services/saf/amf/amfd/include/svctype.h
>>> +++ b/osaf/services/saf/amf/amfd/include/svctype.h
>>> @@ -20,8 +20,8 @@
>>>
>>>  class AVD_SVC_TYPE {
>>>   public:
>>> -  explicit AVD_SVC_TYPE(const SaNameT *dn);
>>> -  SaNameT name {};
>>> +  explicit AVD_SVC_TYPE(const std::string& dn);
>>> +  std::string name {};
>>>    char **saAmfSvcDefActiveWeight {};
>>>    char **saAmfSvcDefStandbyWeight {};
>>>    std::vector<AVD_SI*> list_of_si {};
>>> 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
>>> @@ -18,9 +18,9 @@
>>>
>>>  class AVD_SVC_TYPE_CS_TYPE {
>>>   public:
>>> -  explicit AVD_SVC_TYPE_CS_TYPE(const SaNameT *dn);
>>> +  explicit AVD_SVC_TYPE_CS_TYPE(const std::string& dn);
>>>
>>> -  SaNameT name {};
>>> +  std::string name {};
>>>    SaUint32T saAmfSvctMaxNumCSIs {};
>>>
>>>    SaUint32T curr_num_csis {};
>>> @@ -34,7 +34,7 @@ class AVD_SVC_TYPE_CS_TYPE {
>>>    void operator=(const AVD_SVC_TYPE_CS_TYPE&);
>>>  };
>>>
>>> -SaAisErrorT avd_svctypecstypes_config_get(SaNameT *svctype_name);
>>> +SaAisErrorT avd_svctypecstypes_config_get(const std::string&
>>> svctype_name);
>>>  void avd_svctypecstypes_constructor(void);
>>>
>>>  extern AmfDb<std::string, AVD_SVC_TYPE_CS_TYPE> *svctypecstypes_db;
>>> diff --git a/osaf/services/saf/amf/amfd/include/timer.h
>>> b/osaf/services/saf/amf/amfd/include/timer.h
>>> --- a/osaf/services/saf/amf/amfd/include/timer.h
>>> +++ b/osaf/services/saf/amf/amfd/include/timer.h
>>> @@ -35,6 +35,7 @@
>>>
>>>  #include <saflog.h>
>>>  #include <ncssysf_tmr.h>
>>> +#include <string>
>>>
>>>  /* timer type enums */
>>>  typedef enum avd_tmr_type {
>>> @@ -53,8 +54,8 @@ typedef struct avd_tmr_tag {
>>>      tmr_t tmr_id;
>>>      AVD_TMR_TYPE type;
>>>      SaClmNodeIdT node_id;
>>> -    SaNameT spons_si_name;
>>> -    SaNameT dep_si_name;
>>> +    std::string spons_si_name;
>>> +    std::string dep_si_name;
>>>      bool is_active;
>>>  } AVD_TMR;
>>>
>>> diff --git a/osaf/services/saf/amf/amfd/include/util.h
>>> b/osaf/services/saf/amf/amfd/include/util.h
>>> --- a/osaf/services/saf/amf/amfd/include/util.h
>>> +++ b/osaf/services/saf/amf/amfd/include/util.h
>>> @@ -42,10 +42,11 @@
>>>  #include <immutil.h>
>>>  #include "msg.h"
>>>  #include "role.h"
>>> -
>>> +#include "amf_db_template.h"
>>>  class AVD_SU;
>>>
>>>  extern const SaNameT *amfSvcUsrName;
>>> +extern SaNameT _amfSvcUsrName;
>>>  extern const char *avd_adm_state_name[];
>>>  extern const char *avd_pres_state_name[];
>>>  extern const char *avd_oper_state_name[];
>>> @@ -63,7 +64,9 @@ class AVD_COMP;
>>>  struct avd_comp_csi_rel_tag;
>>>  class AVD_CSI;
>>>
>>> -int get_child_dn_from_ass_dn(const SaNameT *ass_dn, SaNameT *child_dn);
>>> +void avsv_sanamet_init(const std::string& haystack, std::string& dn,
>>> const char *needle);
>>> +int get_child_dn_from_ass_dn(const std::string& ass_dn, std::string&
>>> child_dn);
>>> +int get_parent_dn_from_ass_dn(const std::string& ass_dn,
>>> std::string& parent_dn);
>>>  void avd_d2n_reboot_snd(AVD_AVND *node);
>>>  bool admin_op_is_valid(SaImmAdminOperationIdT opId,
>>> AVSV_AMF_CLASS_ID class_id);
>>>  void amflog(int priority, const char *format, ...);
>>> @@ -83,17 +86,17 @@ uint32_t avd_snd_set_leds_msg(struct cl_
>>>  uint32_t avd_snd_pg_resp_msg(struct cl_cb_tag *, AVD_AVND *, AVD_CSI *,
>>>                     AVSV_N2D_PG_TRACK_ACT_MSG_INFO *);
>>>  uint32_t avd_snd_pg_upd_msg(struct cl_cb_tag *, AVD_AVND *, struct
>>> avd_comp_csi_rel_tag *,
>>> -                  SaAmfProtectionGroupChangesT, SaNameT *);
>>> +                  SaAmfProtectionGroupChangesT, const std::string&);
>>>  uint32_t avd_snd_comp_validation_resp(struct cl_cb_tag *cb, AVD_AVND
>>> *avnd,
>>>                          AVD_COMP *comp_ptr, AVD_DND_MSG *n2d_msg);
>>>  std::string to_string(const SaNameT &s);
>>>  extern int avd_admin_state_is_valid(SaAmfAdminStateT state, const
>>> CcbUtilOperationData_t *opdata);
>>> -extern SaAisErrorT avd_object_name_create(SaNameT *rdn_attr_value,
>>> SaNameT *parentName, SaNameT *object_name);
>>> +extern SaAisErrorT avd_object_name_create(const std::string&
>>> rdn_attr_value, const std::string& parentName, const std::string&
>>> object_name);
>>>  int amfd_file_dump(const char* filename);
>>> -extern int avd_admin_op_msg_snd(const SaNameT *dn, AVSV_AMF_CLASS_ID
>>> class_id,
>>> +extern int avd_admin_op_msg_snd(const std::string& dn,
>>> AVSV_AMF_CLASS_ID class_id,
>>>      SaAmfAdminOperationIdT opId, AVD_AVND *node);
>>>  extern void d2n_msg_free(AVSV_DND_MSG *msg);
>>> -extern const char* avd_getparent(const char* dn);
>>> -extern bool object_exist_in_imm(const SaNameT *dn);
>>> +extern std::string avd_getparent(const std::string& dn);
>>> +extern bool object_exist_in_imm(const std::string& dn);
>>>  extern const char *admin_op_name(SaAmfAdminOperationIdT opid);
>>>  #endif
>>>
>

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to