osaf/services/saf/amf/amfd/ckpt_edu.cc |   64 ----------
 osaf/services/saf/amf/amfd/ckpt_enc.cc |  204 ++++++++++++--------------------
 2 files changed, 78 insertions(+), 190 deletions(-)


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_si, &err);
-       if (rc != NCSCC_RC_SUCCESS)
-               goto error;
-
        rc = m_NCS_EDU_COMPILE_EDP(&cb->edu_hdl, avsv_edp_ckpt_msg_comp, &err);
        if (rc != NCSCC_RC_SUCCESS)
                goto error;
@@ -251,66 +247,6 @@ uint32_t avsv_edp_ckpt_msg_node(EDU_HDL 
 
 /*****************************************************************************
 
-  PROCEDURE NAME:   avsv_edp_ckpt_msg_si
-
-  DESCRIPTION:      EDU program handler for "AVD_SI" data. This 
-                    function is invoked by EDU for performing encode/decode 
-                    operation on "AVD_SI" data.
-
-  RETURNS:          NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE
-
-*****************************************************************************/
-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)
-{
-       uint32_t rc = NCSCC_RC_SUCCESS;
-       AVD_SI *struct_ptr = NULL, **d_ptr = NULL;
-#ifdef UPGRADE_FROM_4_2_1
-               // special case for 4.2.1, si_dep_state should be check pointed 
using ver 4
-               uint16_t ver_compare = AVD_MBCSV_SUB_PART_VERSION_4;
-#else
-               // default case, si_dep_state should not be check pointed for 
peers in ver 4 (or less)
-               uint16_t ver_compare = AVD_MBCSV_SUB_PART_VERSION_5;
-#endif
-
-       TRACE_ENTER2("my_version: %u, to_version: %u", ver_compare, 
hdl->to_version);
-
-       EDU_INST_SET avsv_ckpt_msg_si_rules[] = {
-               {EDU_START, avsv_edp_ckpt_msg_si, 0, 0, 0, sizeof(AVD_SI), 0, 
NULL},
-               {EDU_EXEC, ncs_edp_sanamet, 0, 0, 0, (long)&((AVD_SI 
*)0)->name, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->saAmfSIAdminState, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->saAmfSIAssignmentState, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->saAmfSINumCurrActiveAssignments, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->saAmfSINumCurrStandbyAssignments, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->si_switch, 0, NULL},
-               {EDU_EXEC, ncs_edp_sanamet, 0, 0, 0, (long)&((AVD_SI 
*)0)->saAmfSIProtectedbySG, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->alarm_sent, 0, NULL},
-               {EDU_VER_GE, NULL, 0, 0, 2, 0, 0, (EDU_EXEC_RTINE)((uint16_t 
*)(&(ver_compare)))},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SI 
*)0)->si_dep_state, 0, NULL},
-               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
-       };
-
-       if (op == EDP_OP_TYPE_ENC) {
-               struct_ptr = (AVD_SI *)ptr;
-       } else if (op == EDP_OP_TYPE_DEC) {
-               d_ptr = (AVD_SI **)ptr;
-               if (*d_ptr == NULL) {
-                       *o_err = EDU_ERR_MEM_FAIL;
-                       return NCSCC_RC_FAILURE;
-               }
-               memset(*d_ptr, '\0', sizeof(AVD_SI));
-               struct_ptr = *d_ptr;
-       } else {
-               struct_ptr = static_cast<AVD_SI*>(ptr);
-       }
-
-       rc = m_NCS_EDU_RUN_RULES(hdl, edu_tkn, avsv_ckpt_msg_si_rules, 
struct_ptr, ptr_data_len, buf_env, op, o_err);
-
-       return rc;
-}
-
-/*****************************************************************************
-
   PROCEDURE NAME:   avsv_edp_ckpt_msg_comp
 
   DESCRIPTION:      EDU program handler for "AVD_COMP" 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
@@ -473,6 +473,34 @@ static uint32_t enc_su_config(AVD_CL_CB 
        return NCSCC_RC_SUCCESS;
 }
 
+static void encode_si(const AVD_CL_CB *cb,
+       NCS_UBAID *ub,
+       const AVD_SI *si,
+       uint16_t peer_version)
+{
+#ifdef UPGRADE_FROM_4_2_1
+       // special case for 4.2.1, si_dep_state should be check pointed using 
ver 4
+       uint16_t ver_compare = AVD_MBCSV_SUB_PART_VERSION_4;
+#else
+       // default case, si_dep_stateavd_peer_ver should not be check pointed 
for peers in ver 4 (or less)
+       uint16_t ver_compare = AVD_MBCSV_SUB_PART_VERSION_5;
+#endif
+       TRACE_ENTER2("my_version: %u, to_version: %u", ver_compare, 
peer_version);
+
+       osaf_encode_sanamet(ub, &si->name);
+       osaf_encode_uint32(ub, si->saAmfSIAdminState);
+       osaf_encode_uint32(ub, si->saAmfSIAssignmentState);
+       osaf_encode_uint32(ub, si->saAmfSINumCurrActiveAssignments);
+       osaf_encode_uint32(ub, si->saAmfSINumCurrStandbyAssignments);
+       osaf_encode_uint32(ub, si->si_switch);
+       osaf_encode_sanamet(ub, &si->saAmfSIProtectedbySG);
+       osaf_encode_bool(ub, si->alarm_sent);
+       
+       if (peer_version >= ver_compare) {
+               osaf_encode_uint32(ub, si->si_dep_state);
+       }
+}
+
 /****************************************************************************\
  * Function: enc_si_config
  *
@@ -489,10 +517,10 @@ static uint32_t enc_su_config(AVD_CL_CB 
 \**************************************************************************/
 static uint32_t enc_si_config(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER2("io_action '%u'", enc->io_action);
 
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       
        /* 
         * Check for the action type (whether it is add, rmv or update) and act
         * accordingly. If it is update or add, encode entire data. If it is rmv
@@ -502,28 +530,18 @@ static uint32_t enc_si_config(AVD_CL_CB 
        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_si, 
&enc->io_uba,
-                       EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version);
+               encode_si(cb, &enc->io_uba, si, enc->i_peer_version);
                break;
-
        case NCS_MBCSV_ACT_RMV:
                /* Send only key information */
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_si, &enc->io_uba,
-                       EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version, 1, 1);
+               osaf_encode_sanamet(&enc->io_uba, &si->name);
                break;
-
        default:
                osafassert(0);
        }
 
-       if (status != NCSCC_RC_SUCCESS) {
-               LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, ederror);
-       }
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE2();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -544,6 +562,8 @@ static uint32_t enc_sg_admin_si(AVD_CL_C
 {
        uint32_t status = NCSCC_RC_SUCCESS;
        EDU_ERR ederror = static_cast<EDU_ERR>(0);
+       const AVD_SI *si = (AVD_SI*)((AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)))->admin_si;
+       
        TRACE_ENTER2("io_action '%u'", enc->io_action);
 
        /* 
@@ -556,11 +576,7 @@ static uint32_t enc_sg_admin_si(AVD_CL_C
                /*
                 * Send SI key.
                 */
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_si, &enc->io_uba,
-                                               EDP_OP_TYPE_ENC,
-                                               (AVD_SI
-                                                *)((AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)))->admin_si,
-                                               &ederror, enc->i_peer_version, 
1, 1);
+               osaf_encode_sanamet(&enc->io_uba, &si->name);
                break;
 
        case NCS_MBCSV_ACT_UPDATE:
@@ -1432,19 +1448,13 @@ static uint32_t enc_su_restart_count(AVD
 \**************************************************************************/
 static uint32_t enc_si_admin_state(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
        osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 2);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->saAmfSIAdminState);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -1463,20 +1473,15 @@ static uint32_t enc_si_admin_state(AVD_C
 \**************************************************************************/
 static uint32_t enc_si_assignment_state(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
+       osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->saAmfSIAssignmentState);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
+}
 
-       osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 3);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
-}
 /******************************************************************
  * @brief    encodes si_dep_state during async update
  *
@@ -1487,28 +1492,13 @@ static uint32_t enc_si_assignment_state(
  *****************************************************************/
 static uint32_t enc_si_dep_state(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR edu_rror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
-       /* 
-        * Action in this case is just to update. If action passed is add/rmv 
then log
-        * error. Call EDU encode to encode this field.
-        */
-       if (NCS_MBCSV_ACT_UPDATE == enc->io_action) {
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_si, &enc->io_uba,
-                               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                               &edu_rror, enc->i_peer_version, 2, 1, 10);
-
-               if (status != NCSCC_RC_SUCCESS)
-                       LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, 
edu_rror);
-       } else
-               osafassert(0);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->si_dep_state);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -1527,19 +1517,13 @@ static uint32_t enc_si_dep_state(AVD_CL_
 \**************************************************************************/
 static uint32_t enc_si_su_curr_active(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
        osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 4);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->saAmfSINumCurrActiveAssignments);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -1558,19 +1542,13 @@ static uint32_t enc_si_su_curr_active(AV
 \**************************************************************************/
 static uint32_t enc_si_su_curr_stby(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
        osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 5);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->saAmfSINumCurrStandbyAssignments);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -1589,19 +1567,13 @@ static uint32_t enc_si_su_curr_stby(AVD_
 \**************************************************************************/
 static uint32_t enc_si_switch(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
        osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 6);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_uint32(&enc->io_uba, si->si_switch);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -1620,19 +1592,13 @@ static uint32_t enc_si_switch(AVD_CL_CB 
 \**************************************************************************/
 static uint32_t enc_si_alarm_sent(AVD_CL_CB *cb, NCS_MBCSV_CB_ENC *enc)
 {
-       uint32_t status = NCSCC_RC_SUCCESS;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
-
        osafassert(NCS_MBCSV_ACT_UPDATE == enc->io_action);
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SI 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 8);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       const AVD_SI *si = (AVD_SI *)enc->io_reo_hdl;
+       osaf_encode_sanamet(&enc->io_uba, &si->name);
+       osaf_encode_bool(&enc->io_uba, si->alarm_sent);
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 /****************************************************************************\
  * Function: enc_comp_proxy_comp_name
@@ -2211,7 +2177,6 @@ static uint32_t enc_cs_si_config(AVD_CL_
 {
        uint32_t status = NCSCC_RC_SUCCESS;
        SaNameT si_name;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
        TRACE_ENTER();
 
        /* 
@@ -2219,14 +2184,8 @@ static uint32_t enc_cs_si_config(AVD_CL_
         */
        for (std::map<std::string, AVD_SI*>::const_iterator it = si_db->begin();
                        it != si_db->end(); it++) {
-               AVD_SI *si = it->second;
-               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_si, 
&enc->io_uba,
-                                           EDP_OP_TYPE_ENC, si, &ederror, 
enc->i_peer_version);
-
-               if (status != NCSCC_RC_SUCCESS) {
-                       LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, 
ederror);
-                       return NCSCC_RC_FAILURE;
-               }
+               const AVD_SI *si = it->second;
+               encode_si(cb, &enc->io_uba, si, enc->i_peer_version);
 
                si_name = si->name;
                (*num_of_obj)++;
@@ -2294,7 +2253,6 @@ static uint32_t enc_cs_sg_su_oper_list(A
 static uint32_t enc_cs_sg_admin_si(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();
 
        /* 
@@ -2306,13 +2264,7 @@ static uint32_t enc_cs_sg_admin_si(AVD_C
                if (NULL == sg->admin_si) 
                        continue;
 
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_si, &enc->io_uba,
-                                               EDP_OP_TYPE_ENC, sg->admin_si, 
&ederror, enc->i_peer_version, 1, 1);
-
-               if (status != NCSCC_RC_SUCCESS) {
-                       LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, 
ederror);
-                       return NCSCC_RC_FAILURE;
-               }
+               osaf_encode_sanamet(&enc->io_uba, &sg->admin_si->name);
 
                (*num_of_obj)++;
        }

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to