osaf/services/saf/amf/amfd/ckpt_edu.cc        |   59 -----------
 osaf/services/saf/amf/amfd/ckpt_enc.cc        |  139 ++++++++-----------------
 osaf/services/saf/amf/amfd/include/ckpt_edu.h |    3 -
 3 files changed, 48 insertions(+), 153 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
@@ -65,10 +65,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_sg, &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;
@@ -304,61 +300,6 @@ uint32_t avsv_edp_ckpt_msg_app(EDU_HDL *
 
 /*****************************************************************************
 
-  PROCEDURE NAME:   avsv_edp_ckpt_msg_sg
-
-  DESCRIPTION:      EDU program handler for "AVD_SG" data. This 
-                    function is invoked by EDU for performing encode/decode 
-                    operation on "AVD_SG" data.
-
-  RETURNS:          NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE
-
-*****************************************************************************/
-uint32_t avsv_edp_ckpt_msg_sg(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_SG *struct_ptr = NULL, **d_ptr = NULL;
-
-       EDU_INST_SET avsv_ckpt_msg_sg_rules[] = {
-               {EDU_START, avsv_edp_ckpt_msg_sg, 0, 0, 0, sizeof(AVD_SG), 0, 
NULL},
-
-               /* AVD SG runtime attribute encoding rules */
-               {EDU_EXEC, ncs_edp_sanamet, 0, 0, 0, (long)&((AVD_SG 
*)0)->name, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SG 
*)0)->saAmfSGAdminState, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SG 
*)0)->saAmfSGNumCurrAssignedSUs, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SG 
*)0)->saAmfSGNumCurrInstantiatedSpareSUs, 0, NULL},
-               {EDU_EXEC, ncs_edp_uns32, 0, 0, 0, (long)&((AVD_SG 
*)0)->saAmfSGNumCurrNonInstantiatedSpareSUs, 0, NULL},
-               {EDU_EXEC, ncs_edp_int, 0, 0, 0, (long)&((AVD_SG 
*)0)->adjust_state, 0, NULL},
-               {EDU_EXEC, ncs_edp_int, 0, 0, 0, (long)&((AVD_SG 
*)0)->sg_fsm_state, 0, NULL},
-
-               /*
-                * Rules for Admin SI and SU operation list to be added
-                * here.
-                */
-               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
-       };
-
-       if (op == EDP_OP_TYPE_ENC) {
-               struct_ptr = (AVD_SG *)ptr;
-       } else if (op == EDP_OP_TYPE_DEC) {
-               d_ptr = (AVD_SG **)ptr;
-               if (*d_ptr == NULL) {
-                       *o_err = EDU_ERR_MEM_FAIL;
-                       return NCSCC_RC_FAILURE;
-               }
-               memset(*d_ptr, '\0', sizeof(AVD_SG));
-               struct_ptr = *d_ptr;
-       } else {
-               struct_ptr = static_cast<AVD_SG*>(ptr);
-       }
-
-       rc = m_NCS_EDU_RUN_RULES(hdl, edu_tkn, avsv_ckpt_msg_sg_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
@@ -375,8 +375,18 @@ static uint32_t enc_app_config(AVD_CL_CB
        return status;
 }
 
+static void encode_sg(NCS_UBAID *ub, const AVD_SG *sg)
+{
+       osaf_encode_sanamet(ub, &sg->name);
+       osaf_encode_uint32(ub, sg->saAmfSGAdminState);
+       osaf_encode_uint32(ub, sg->saAmfSGNumCurrAssignedSUs);
+       osaf_encode_uint32(ub, sg->saAmfSGNumCurrInstantiatedSpareSUs);
+       osaf_encode_uint32(ub, sg->saAmfSGNumCurrNonInstantiatedSpareSUs);
+       osaf_encode_uint32(ub, sg->adjust_state);
+       osaf_encode_uint32(ub, sg->sg_fsm_state);
+}
+
 /****************************************************************************\
- * Function: enc_sg_config
  *
  * Purpose:  Encode entire AVD_SG data..
  *
@@ -391,39 +401,24 @@ static uint32_t enc_app_config(AVD_CL_CB
 \**************************************************************************/
 static uint32_t enc_sg_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_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+
        TRACE_ENTER2("io_action '%u'", enc->io_action);
 
-       /* 
-        * 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
-        * send key information only.
-        */
        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_sg, 
&enc->io_uba,
-                       EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version);
+               encode_sg(&enc->io_uba, sg);
                break;
        case NCS_MBCSV_ACT_RMV:
-               /* Send only key information */
-               status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, 
avsv_edp_ckpt_msg_sg, &enc->io_uba,
-                       EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-                       &ederror, enc->i_peer_version, 1, 1);
+               osaf_encode_sanamet(&enc->io_uba, &sg->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_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 static void encode_su(NCS_UBAID *ub, AVD_SU *su, uint16_t peer_version)
@@ -1005,7 +1000,6 @@ static uint32_t enc_node_snd_msg_id(AVD_
 }
 
 /****************************************************************************\
- * Function: enc_sg_admin_state
  *
  * Purpose:  Encode SG admin state.
  *
@@ -1020,23 +1014,18 @@ static uint32_t enc_node_snd_msg_id(AVD_
 \**************************************************************************/
 static uint32_t enc_sg_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_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 2);
-
-       osafassert(status == NCSCC_RC_SUCCESS);
+       const AVD_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, sg->saAmfSGAdminState);
 
        TRACE_LEAVE();
-       return status;
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
- * Function: enc_sg_su_assigned_num
  *
  * Purpose:  Encode SG su assign number.
  *
@@ -1051,24 +1040,18 @@ static uint32_t enc_sg_admin_state(AVD_C
 \**************************************************************************/
 static uint32_t enc_sg_su_assigned_num(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_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, sg->saAmfSGNumCurrAssignedSUs);
 
-       status = m_NCS_EDU_SEL_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(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;
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
- * Function: enc_sg_su_spare_num
  *
  * Purpose:  Encode SG su spare number.
  *
@@ -1083,22 +1066,18 @@ static uint32_t enc_sg_su_assigned_num(A
 \**************************************************************************/
 static uint32_t enc_sg_su_spare_num(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_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 4);
+       const AVD_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, 
sg->saAmfSGNumCurrInstantiatedSpareSUs);
 
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       return status;
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
- * Function: enc_sg_su_uninst_num
  *
  * Purpose:  Encode SG su uninst number.
  *
@@ -1113,23 +1092,18 @@ static uint32_t enc_sg_su_spare_num(AVD_
 \**************************************************************************/
 static uint32_t enc_sg_su_uninst_num(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_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 5);
+       const AVD_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, 
sg->saAmfSGNumCurrNonInstantiatedSpareSUs);
 
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
- * Function: enc_sg_adjust_state
  *
  * Purpose:  Encode SG adjust state.
  *
@@ -1144,23 +1118,18 @@ static uint32_t enc_sg_su_uninst_num(AVD
 \**************************************************************************/
 static uint32_t enc_sg_adjust_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_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 6);
+       const AVD_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, sg->adjust_state);
 
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
- * Function: enc_sg_fsm_state
  *
  * Purpose:  Encode SG FSM state.
  *
@@ -1175,19 +1144,15 @@ static uint32_t enc_sg_adjust_state(AVD_
 \**************************************************************************/
 static uint32_t enc_sg_fsm_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_sg, 
&enc->io_uba,
-               EDP_OP_TYPE_ENC, (AVD_SG 
*)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl)),
-               &ederror, enc->i_peer_version, 2, 1, 7);
+       const AVD_SG *sg = (AVD_SG *)(NCS_INT64_TO_PTR_CAST(enc->io_reo_hdl));
+       osaf_encode_sanamet(&enc->io_uba, &sg->name);
+       osaf_encode_uint32(&enc->io_uba, sg->sg_fsm_state);
 
-       osafassert(status == NCSCC_RC_SUCCESS);
-
-       TRACE_LEAVE2("status '%u'", status);
-       return status;
+       TRACE_LEAVE();
+       return NCSCC_RC_SUCCESS;
 }
 
 /****************************************************************************\
@@ -2198,8 +2163,7 @@ static uint32_t enc_cs_sg_config(AVD_CL_
 {
        uint32_t status = NCSCC_RC_SUCCESS;
        SaNameT sg_name;
-       AVD_SG *sg;
-       EDU_ERR ederror = static_cast<EDU_ERR>(0);
+       const AVD_SG *sg;
        TRACE_ENTER();
 
        /* 
@@ -2207,14 +2171,7 @@ static uint32_t enc_cs_sg_config(AVD_CL_
         */
        sg_name.length = 0;
        for (sg = avd_sg_getnext(&sg_name); sg != NULL; sg = 
avd_sg_getnext(&sg_name)) {
-               status = m_NCS_EDU_VER_EXEC(&cb->edu_hdl, avsv_edp_ckpt_msg_sg, 
&enc->io_uba,
-                                           EDP_OP_TYPE_ENC, sg, &ederror, 
enc->i_peer_version);
-
-               if (status != NCSCC_RC_SUCCESS) {
-                       LOG_ER("%s: encode failed, ederror=%u", __FUNCTION__, 
ederror);
-                       return NCSCC_RC_FAILURE;
-               }
-
+               encode_sg(&enc->io_uba, sg);
                sg_name = sg->name;
                (*num_of_obj)++;
        }
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
@@ -48,9 +48,6 @@ uint32_t avsv_edp_ckpt_msg_node(EDU_HDL 
 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_sg(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);

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to