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        |  45 ++++++++---------------
 osaf/services/saf/amf/amfd/include/ckpt_edu.h |   3 -
 4 files changed, 23 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,13 @@ 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_uint32(ub, app->saAmfApplicationAdminState);
+       osaf_encode_uint32(ub, app->saAmfApplicationCurrNumSGs);
+}
+       
 /****************************************************************************\
  * Function: enc_app_config
  *
@@ -339,8 +346,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 +358,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 +2117,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 +2124,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);

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://www.hpccsystems.com
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to