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