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