ack, code review only/Thanks HansN

-----Original Message-----
From: praveen malviya [mailto:praveen.malv...@oracle.com] 
Sent: den 4 juni 2014 14:17
To: Hans Nordebäck
Cc: Hans Feldt; nagendr...@oracle.com; opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 01 of 12] amfd : use db_template in AVD_SVC_TYPE_CS_TYPE 
[#713]

-               rc = si_db->insert(Amf::to_string(&si->name), si);
-               osafassert(rc == NCSCC_RC_SUCCESS);


In my original patch this change is not there.
I am attaching the patch.

Thanks
Praveen
On 04-Jun-14 5:14 PM, Hans Nordebäck wrote:
> Hi Praveen, one comment inline below/Regards HansN
>
> -----Original Message-----
> From: praveen.malv...@oracle.com [mailto:praveen.malv...@oracle.com]
> Sent: den 4 juni 2014 12:20
> To: Hans Nordebäck; Hans Feldt; nagendr...@oracle.com
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 01 of 12] amfd : use db_template in 
> AVD_SVC_TYPE_CS_TYPE [#713]
>
>   osaf/services/saf/amf/amfd/include/si.h      |   4 +--
>   osaf/services/saf/amf/amfd/si.cc             |   3 --
>   osaf/services/saf/amf/amfd/svctypecstypes.cc |  40 
> +++++++--------------------
>   3 files changed, 12 insertions(+), 35 deletions(-)
>
>
> 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
> @@ -69,7 +69,6 @@ typedef struct avd_sirankedsu {
>    */
>   typedef struct avd_si_tag {
>   
> -     NCS_PATRICIA_NODE tree_node;    /* key will be the SI name */
>       SaNameT name;
>   
>       /******************** B.04 model 
> *************************************************/
> @@ -121,7 +120,6 @@ typedef struct avd_amf_svc_type_tag {  } 
> AVD_SVC_TYPE;
>   
>   typedef struct {
> -     NCS_PATRICIA_NODE tree_node;    /* key is name */
>       SaNameT name;
>       SaUint32T saAmfSvctMaxNumCSIs;
>   
> @@ -133,6 +131,7 @@ typedef struct {
>   } AVD_SVC_TYPE_CS_TYPE;
>   
>   extern AmfDb<std::string, AVD_SI> *si_db;
> +extern AmfDb<std::string, AVD_SVC_TYPE_CS_TYPE> *svctypecstypes_db;
>   #define AVD_SI_NULL ((AVD_SI *)0)
>   #define m_AVD_SI_ACTV_MAX_SU(l_si) (l_si)->saAmfSIPrefActiveAssignments
>   #define m_AVD_SI_ACTV_CURR_SU(l_si) 
> (l_si)->saAmfSINumCurrActiveAssignments
> @@ -161,7 +160,6 @@ extern void avd_svctype_remove_si(AVD_SI  extern 
> void avd_svctype_constructor(void);
>   
>   extern SaAisErrorT avd_svctypecstypes_config_get(SaNameT *svctype_name); 
> -extern AVD_SVC_TYPE_CS_TYPE *avd_svctypecstypes_get(const SaNameT 
> *svctypecstypes_name);  extern void avd_svctypecstypes_constructor(void);
>   extern void avd_si_inc_curr_act_ass(AVD_SI *si);  extern void 
> avd_si_dec_curr_act_ass(AVD_SI *si); diff --git 
> a/osaf/services/saf/amf/amfd/si.cc b/osaf/services/saf/amf/amfd/si.cc
> --- a/osaf/services/saf/amf/amfd/si.cc
> +++ b/osaf/services/saf/amf/amfd/si.cc
> @@ -331,7 +331,6 @@ AVD_SI *avd_si_new(const SaNameT *dn)
>   
>       memcpy(si->name.value, dn->value, dn->length);
>       si->name.length = dn->length;
> -     si->tree_node.key_info = (uint8_t *)&si->name;
>       si->si_switch = AVSV_SI_TOGGLE_STABLE;
>       si->saAmfSIAdminState = SA_AMF_ADMIN_UNLOCKED;
>       si->si_dep_state = AVD_SI_NO_DEPENDENCY; @@ -433,8 +432,6 @@ void 
> avd_si_db_add(AVD_SI *si)
>       unsigned int rc;
>   
>       if (si_db->find(Amf::to_string(&si->name)) == NULL) {
> -             rc = si_db->insert(Amf::to_string(&si->name), si);
> -             osafassert(rc == NCSCC_RC_SUCCESS);
> [HansN] why is the insert removed?
>       }
>   }
>   
> 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
> @@ -20,11 +20,11 @@
>   #include <si.h>
>   #include <imm.h>
>   
> -static NCS_PATRICIA_TREE svctypecstypes_db;
>   
> +AmfDb<std::string, AVD_SVC_TYPE_CS_TYPE> *svctypecstypes_db = NULL;
>   static void svctypecstype_db_add(AVD_SVC_TYPE_CS_TYPE *svctypecstype)  {
> -     unsigned int rc = ncs_patricia_tree_add(&svctypecstypes_db, 
> &svctypecstype->tree_node);
> +     uint32_t rc =
> +svctypecstypes_db->insert(Amf::to_string(&svctypecstype->name),svctyp
> +ec
> +stype);
>       osafassert(rc == NCSCC_RC_SUCCESS);
>   }
>   
> @@ -39,7 +39,6 @@ static AVD_SVC_TYPE_CS_TYPE *svctypecsty
>   
>       memcpy(svctypecstype->name.value, dn->value, dn->length);
>       svctypecstype->name.length = dn->length;
> -     svctypecstype->tree_node.key_info = (uint8_t *)&(svctypecstype->name);
>   
>       if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfSvctMaxNumCSIs"), 
> attributes, 0, &svctypecstype->saAmfSvctMaxNumCSIs) != SA_AIS_OK)
>               svctypecstype->saAmfSvctMaxNumCSIs = -1; /* no limit */ @@ 
> -47,25 +46,6 @@ static AVD_SVC_TYPE_CS_TYPE *svctypecsty
>       return svctypecstype;
>   }
>   
> -static void svctypecstypes_delete(AVD_SVC_TYPE_CS_TYPE *svctypecstype) -{
> -     uint32_t rc;
> -
> -     rc = ncs_patricia_tree_del(&svctypecstypes_db, 
> &svctypecstype->tree_node);
> -     osafassert(rc == NCSCC_RC_SUCCESS);
> -     delete svctypecstype;
> -}
> -
> -AVD_SVC_TYPE_CS_TYPE *avd_svctypecstypes_get(const SaNameT *dn) -{
> -     SaNameT tmp = {0};
> -
> -     tmp.length = dn->length;
> -     memcpy(tmp.value, dn->value, tmp.length);
> -
> -     return (AVD_SVC_TYPE_CS_TYPE*)ncs_patricia_tree_get(&svctypecstypes_db, 
> (uint8_t *)&tmp);
> -}
> -
>   /**
>    * Get configuration for all SaAmfSvcTypeCSTypes objects from
>    * IMM and create AVD internal objects.
> @@ -100,7 +80,7 @@ SaAisErrorT avd_svctypecstypes_config_ge
>   
>       while (immutil_saImmOmSearchNext_2(searchHandle, &dn, 
> (SaImmAttrValuesT_2 ***)&attributes) == SA_AIS_OK) {
>   
> -             if ((svctypecstype = avd_svctypecstypes_get(&dn))== NULL) {
> +             if ((svctypecstype = 
> +svctypecstypes_db->find(Amf::to_string(&dn)))==
> +NULL) {
>                       if ((svctypecstype = svctypecstypes_create(&dn, 
> attributes)) == NULL) {
>                               error = SA_AIS_ERR_FAILED_OPERATION;
>                               goto done2;
> @@ -138,7 +118,7 @@ static SaAisErrorT svctypecstypes_ccb_co
>               report_ccb_validation_error(opdata, "Modification of 
> SaAmfSvcTypeCSTypes not supported");
>               break;
>       case CCBUTIL_DELETE:
> -             svctypecstype = avd_svctypecstypes_get(&opdata->objectName);
> +             svctypecstype =
> +svctypecstypes_db->find(Amf::to_string(&opdata->objectName));
>               if (svctypecstype->curr_num_csis == 0) {
>                       rc = SA_AIS_OK;
>                       opdata->userData = svctypecstype; @@ -171,7 +151,12 @@ 
> static 
> void svctypecstypes_ccb_apply_cb(
>               svctypecstype_db_add(svctypecstype);
>               break;
>       case CCBUTIL_DELETE:
> -             
> svctypecstypes_delete(static_cast<AVD_SVC_TYPE_CS_TYPE*>(opdata->userData));
> +             svctypecstype = 
> svctypecstypes_db->find(Amf::to_string(&opdata->objectName));
> +             if (svctypecstype != NULL) {
> +                     
> svctypecstypes_db->erase(Amf::to_string(&opdata->objectName));
> +                     delete svctypecstype;
> +             }
> +
>               break;
>       default:
>               osafassert(0);
> @@ -181,10 +166,7 @@ static void svctypecstypes_ccb_apply_cb(
>   
>   void avd_svctypecstypes_constructor(void)
>   {
> -     NCS_PATRICIA_PARAMS patricia_params;
> -
> -     patricia_params.key_size = sizeof(SaNameT);
> -     osafassert(ncs_patricia_tree_init(&svctypecstypes_db, &patricia_params) 
> == NCSCC_RC_SUCCESS);
> +     svctypecstypes_db = new AmfDb<std::string, AVD_SVC_TYPE_CS_TYPE>;
>       avd_class_impl_set("SaAmfSvcTypeCSTypes", NULL, NULL,
>               svctypecstypes_ccb_completed_cb, svctypecstypes_ccb_apply_cb);  
> }


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to