osaf/services/saf/amf/amfd/ckpt_dec.cc        |  17 +++-----
 osaf/services/saf/amf/amfd/ckpt_edu.cc        |  51 +--------------------------
 osaf/services/saf/amf/amfd/ckpt_enc.cc        |  46 +++++++++---------------
 osaf/services/saf/amf/amfd/include/ckpt_edu.h |   3 -
 4 files changed, 24 insertions(+), 93 deletions(-)


diff --git a/osaf/services/saf/amf/amfd/ckpt_dec.cc 
b/osaf/services/saf/amf/amfd/ckpt_dec.cc
--- a/osaf/services/saf/amf/amfd/ckpt_dec.cc
+++ b/osaf/services/saf/amf/amfd/ckpt_dec.cc
@@ -2424,7 +2424,7 @@ static uint32_t dec_cs_node_config(AVD_C
 /****************************************************************************\
  * Function: dec_cs_app_config
  *
- * Purpose:  Decode entire AVD_SG data..
+ * Purpose:  Decode entire AVD_APP data.
  *
  * Input: cb - CB pointer.
  *        dec - Decode arguments passed by MBCSV.
@@ -2438,10 +2438,8 @@ static uint32_t dec_cs_node_config(AVD_C
 static uint32_t dec_cs_app_config(AVD_CL_CB *cb, NCS_MBCSV_CB_DEC *dec, 
uint32_t num_of_obj)
 {
        uint32_t status = NCSCC_RC_SUCCESS;
-       uint32_t count = 0;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
-       AVD_APP _app;
-       AVD_APP *app = &_app;
+       uint32_t count;
+       AVD_APP dec_app;
 
        TRACE_ENTER();
 
@@ -2449,15 +2447,12 @@ static uint32_t dec_cs_app_config(AVD_CL
         * Walk through the entire list and send the entire list data.
         */
        for (count = 0; count < num_of_obj; count++) {
-               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_app,
-                                           &dec->i_uba, EDP_OP_TYPE_DEC, 
(AVD_APP **)&app, &ederror,
-                                           dec->i_peer_version);
-               osafassert(status == NCSCC_RC_SUCCESS);
-               status = avd_ckpt_app(cb, app, dec->i_action);
+               decode_app(&dec->i_uba, &dec_app);
+               status = avd_ckpt_app(cb, &dec_app, dec->i_action);
                osafassert(status == NCSCC_RC_SUCCESS);
        }
 
-       TRACE_LEAVE2("status '%u'", status);
+       TRACE_LEAVE2("status %u, count %u", status, count);
        return status;
 }
 
diff --git a/osaf/services/saf/amf/amfd/ckpt_edu.cc 
b/osaf/services/saf/amf/amfd/ckpt_edu.cc
--- a/osaf/services/saf/amf/amfd/ckpt_edu.cc
+++ b/osaf/services/saf/amf/amfd/ckpt_edu.cc
@@ -61,10 +61,6 @@ uint32_t avd_compile_ckpt_edp(AVD_CL_CB 
        if (rc != NCSCC_RC_SUCCESS)
                goto error;
 
-       rc = m_NCS_EDU_COMPILE_EDP(&cb->edu_hdl, avsv_edp_ckpt_msg_app, &err);
-       if (rc != NCSCC_RC_SUCCESS)
-               goto error;
-
        rc = m_NCS_EDU_COMPILE_EDP(&cb->edu_hdl, avsv_edp_ckpt_msg_si, &err);
        if (rc != NCSCC_RC_SUCCESS)
                goto error;
@@ -171,7 +167,7 @@ uint32_t avsv_edp_ckpt_msg_cluster(EDU_H
        AVD_CLUSTER *struct_ptr = NULL, **d_ptr = NULL;
 
        EDU_INST_SET avsv_ckpt_msg_cluster_rules[] = {
-               {EDU_START, avsv_edp_ckpt_msg_app, 0, 0, 0, 
sizeof(AVD_CLUSTER), 0, NULL},
+               {EDU_START, avsv_edp_ckpt_msg_cluster, 0, 0, 0, 
sizeof(AVD_CLUSTER), 0, NULL},
                {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_CLUSTER 
*)0)->saAmfClusterAdminState, 0, NULL},
                {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
        };
@@ -255,51 +251,6 @@ uint32_t avsv_edp_ckpt_msg_node(EDU_HDL 
 
 /*****************************************************************************
 
-  PROCEDURE NAME:   avsv_edp_ckpt_msg_app_config
-
-  DESCRIPTION:      EDU program handler for "AVD_APP" data. This 
-                    function is invoked by EDU for performing encode/decode 
-                    operation on "AVD_AVND" data.
-
-  RETURNS:          NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE
-
-*****************************************************************************/
-uint32_t avsv_edp_ckpt_msg_app(EDU_HDL *hdl, EDU_TKN *edu_tkn,
-                                   NCSCONTEXT ptr, uint32_t *ptr_data_len,
-                                   EDU_BUF_ENV *buf_env, EDP_OP_TYPE op, 
EDU_ERR *o_err)
-{
-       uint32_t rc = NCSCC_RC_SUCCESS;
-       AVD_APP *struct_ptr = NULL, **d_ptr = NULL;
-
-       EDU_INST_SET avsv_ckpt_msg_app_rules[] = {
-               {EDU_START, avsv_edp_ckpt_msg_app, 0, 0, 0, sizeof(AVD_APP), 0, 
NULL},
-               {EDU_EXEC, ncs_edp_sanamet, 0, 0, 0, (long)&((AVD_APP 
*)0)->name, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_APP 
*)0)->saAmfApplicationAdminState, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_APP 
*)0)->saAmfApplicationCurrNumSGs, 0, NULL},
-               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
-       };
-
-       if (op == EDP_OP_TYPE_ENC) {
-               struct_ptr = (AVD_APP *)ptr;
-       } else if (op == EDP_OP_TYPE_DEC) {
-               d_ptr = (AVD_APP **)ptr;
-               if (*d_ptr == NULL) {
-                       *o_err = EDU_ERR_MEM_FAIL;
-                       return NCSCC_RC_FAILURE;
-               }
-               memset(*d_ptr, '\0', sizeof(AVD_APP));
-               struct_ptr = *d_ptr;
-       } else {
-               struct_ptr = static_cast<AVD_APP*>(ptr);
-       }
-
-       rc = m_NCS_EDU_RUN_RULES(hdl, edu_tkn, avsv_ckpt_msg_app_rules, 
struct_ptr, ptr_data_len, buf_env, op, o_err);
-
-       return rc;
-}
-
-/*****************************************************************************
-
   PROCEDURE NAME:   avsv_edp_ckpt_msg_si
 
   DESCRIPTION:      EDU program handler for "AVD_SI" data. This 
diff --git a/osaf/services/saf/amf/amfd/ckpt_enc.cc 
b/osaf/services/saf/amf/amfd/ckpt_enc.cc
--- a/osaf/services/saf/amf/amfd/ckpt_enc.cc
+++ b/osaf/services/saf/amf/amfd/ckpt_enc.cc
@@ -323,6 +323,14 @@ static uint32_t enc_node_config(AVD_CL_C
        return status;
 }
 
+static void encode_app(NCS_UBAID *ub, const AVD_APP *app)
+{
+       osaf_encode_sanamet(ub, &app->name);
+       osaf_encode_sanamet(ub, &app->saAmfAppType);
+       osaf_encode_uint32(ub, app->saAmfApplicationAdminState);
+       osaf_encode_uint32(ub, app->saAmfApplicationCurrNumSGs);
+}
+       
 /****************************************************************************\
  * Function: enc_app_config
  *
@@ -339,8 +347,8 @@ static uint32_t enc_node_config(AVD_CL_C
 \**************************************************************************/
 static uint32_t enc_app_config(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
+       const AVD_APP *app = (AVD_APP 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       
        TRACE_ENTER2("io_action '%u'", enc->io_action);
 
        /* 
@@ -351,28 +359,17 @@ static uint32_t enc_app_config(AVD_CL_CB
        switch (enc->io_action) {
        case NCS_MBCSV_ACT_ADD:
        case NCS_MBCSV_ACT_UPDATE:
-               /* Send entire data */
-               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_app, &enc->io_uba,
-                       EDP_OP_TYPE_ENC, (AVD_APP 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version);
+               encode_app(&enc->io_uba, app);  
                break;
        case NCS_MBCSV_ACT_RMV:
-               /* Send only key information */
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_app, &enc->io_uba,
-                       EDP_OP_TYPE_ENC, 
(AVD_APP*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version, 1, 1);
+               osaf_encode_sanamet(&enc->io_uba, &app->name);
                break;
        default:
                osafassert(0);
        }
 
-       if (status != NCSCC_RC_SUCCESS) {
-               LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, ederror);
-               return status;
-       }
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE2();
+       return NCSCC_RC_SUCCESS;
 }
 
 static void encode_sg(NCS_UBAID *ub, const AVD_SG *sg)
@@ -2121,8 +2118,6 @@ static uint32_t enc_cs_node_config(AVD_C
 \**************************************************************************/
 static uint32_t enc_cs_app_config(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc, 
uint32_t *num_of_obj)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
 
        /* Walk through all application instances and encode. */
@@ -2130,19 +2125,12 @@ static uint32_t enc_cs_app_config(AVD_CL
        // for (auto it = app_db->begin()
        for (std::map<std::string, AVD_APP*>::const_iterator it = 
app_db->begin(); it != app_db->end(); it++) {
                AVD_APP *app = it->second;
-               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_app, &enc->io_uba,
-                                           EDP_OP_TYPE_ENC, app, &ederror, 
enc->i_peer_version);
-
-               if (status != NCSCC_RC_SUCCESS) {
-                       LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, 
ederror);
-                       return NCSCC_RC_FAILURE;
-               }
-
+               encode_app(&enc->io_uba, app);
                (*num_of_obj)++;
        }
 
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE2();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
diff --git a/osaf/services/saf/amf/amfd/include/ckpt_edu.h 
b/osaf/services/saf/amf/amfd/include/ckpt_edu.h
--- a/osaf/services/saf/amf/amfd/include/ckpt_edu.h
+++ b/osaf/services/saf/amf/amfd/include/ckpt_edu.h
@@ -45,9 +45,6 @@ uint32_t avsv_edp_ckpt_msg_cluster(EDU_H
 uint32_t avsv_edp_ckpt_msg_node(EDU_HDL *hdl, EDU_TKN *edu_tkn,
                                             NCSCONTEXT ptr, uint32_t 
*ptr_data_len,
                                             EDU_BUF_ENV *buf_env, EDP_OP_TYPE 
op, EDU_ERR *o_err);
-uint32_t avsv_edp_ckpt_msg_app(EDU_HDL *hdl, EDU_TKN *edu_tkn,
-                                   NCSCONTEXT ptr, uint32_t *ptr_data_len,
-                                   EDU_BUF_ENV *buf_env, EDP_OP_TYPE op, 
EDU_ERR *o_err);
 uint32_t avsv_edp_ckpt_msg_si(EDU_HDL *hdl, EDU_TKN *edu_tkn,
                                    NCSCONTEXT ptr, uint32_t *ptr_data_len,
                                    EDU_BUF_ENV *buf_env, EDP_OP_TYPE op, 
EDU_ERR *o_err);

------------------------------------------------------------------------------
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