Ejemplo n.º 1
0
/***************************************************************************\
                        PRIVATE ADA FUNCTIONS
\***************************************************************************/
static uint32_t vda_create(NCS_LIB_REQ_INFO *req)
{
	NCS_SPLR_REQ_INFO splr_req;
	NCS_SPIR_REQ_INFO spir_req;
	memset(&splr_req, 0, sizeof(splr_req));

	/* STEP : Register VDA as a service provider */
	splr_req.i_sp_abstract_name = m_VDA_SP_ABST_NAME;
	splr_req.type = NCS_SPLR_REQ_REG;
	splr_req.info.reg.instantiation_api = vda_lib_req;
	splr_req.info.reg.instantiation_flags = NCS_SPLR_INSTANTIATION_PER_INST_NAME;
	splr_req.info.reg.user_se_api = (NCSCONTEXT)ncsvda_api;

	if (ncs_splr_api(&splr_req) != NCSCC_RC_SUCCESS) {
		return NCSCC_RC_FAILURE;
	}

	/* STEP : Get the MDS-handle to the ADEST */
	memset(&spir_req, 0, sizeof(spir_req));
	spir_req.type = NCS_SPIR_REQ_LOOKUP_CREATE_INST;
	spir_req.i_environment_id = 1;
	spir_req.i_instance_name = m_MDS_SPIR_ADEST_NAME;
	spir_req.i_sp_abstract_name = m_MDS_SP_ABST_NAME;
	spir_req.info.lookup_create_inst.i_inst_attrs.number = 0;

	if (ncs_spir_api(&spir_req) != NCSCC_RC_SUCCESS) {
		return m_LEAP_DBG_SINK(NCSCC_RC_FAILURE);
	}
	gl_vda_info.mds_adest_pwe1_hdl = (MDS_HDL)spir_req.info.lookup_create_inst.o_handle;

	return NCSCC_RC_SUCCESS;
}
Ejemplo n.º 2
0
static uns32 ada_destroy(NCS_LIB_REQ_INFO *req)
{
	NCS_SPLR_REQ_INFO splr_req;
	memset(&splr_req, 0, sizeof(splr_req));

	/* STEP : TODO : Reset ADEST stuff */
	/* STEP : Register VDA as a service provider */
	splr_req.i_sp_abstract_name = "NCS_ADA";
	splr_req.type = NCS_SPLR_REQ_DEREG;
	splr_req.info.dereg.dummy = 0;

	if (ncs_splr_api(&splr_req) != NCSCC_RC_SUCCESS) {
		return NCSCC_RC_FAILURE;
	}
	m_NCSADA_TRACE_ARG1("ADA:LIB_DESTROY:DONE\n");
	return NCSCC_RC_SUCCESS;
}
Ejemplo n.º 3
0
static uint32_t vda_destroy(NCS_LIB_REQ_INFO *req)
{
	NCS_SPLR_REQ_INFO splr_req;
	NCS_SPIR_REQ_INFO spir_req;

	NCSMDS_INFO svc_info;

	if (vda_vdest_create == true) {
		/* STEP : Uninstall from ADEST with MDS as service NCSMDS_SVC_ID_VDA. */
		memset(&svc_info, 0, sizeof(svc_info));
		svc_info.i_mds_hdl = gl_vda_info.mds_adest_pwe1_hdl;
		svc_info.i_svc_id = NCSMDS_SVC_ID_VDA;
		svc_info.i_op = MDS_UNINSTALL;
		svc_info.info.svc_uninstall.i_msg_free_cb = NULL;	/* NULL for callback-model services */
		/* Invoke MDS api */
		if (ncsmds_api(&svc_info) != NCSCC_RC_SUCCESS)
			return m_LEAP_DBG_SINK(NCSCC_RC_FAILURE);

	}
	/* STEP : Release the use of ADEST MDS handle */
	memset(&spir_req, 0, sizeof(spir_req));
	spir_req.type = NCS_SPIR_REQ_REL_INST;
	spir_req.i_environment_id = 1;
	spir_req.i_instance_name = m_MDS_SPIR_ADEST_NAME;
	spir_req.i_sp_abstract_name = m_MDS_SP_ABST_NAME;
	spir_req.info.rel_inst = 0;	/* dummy value */
	if (ncs_spir_api(&spir_req) != NCSCC_RC_SUCCESS) {
		return m_LEAP_DBG_SINK(NCSCC_RC_FAILURE);
	}
	gl_vda_info.mds_adest_pwe1_hdl = 0;

	/* STEP : Deregister VDA as a service provider */
	memset(&splr_req, 0, sizeof(splr_req));
	splr_req.i_sp_abstract_name = m_VDA_SP_ABST_NAME;
	splr_req.type = NCS_SPLR_REQ_DEREG;
	splr_req.info.dereg.dummy = 0;
	if (ncs_splr_api(&splr_req) != NCSCC_RC_SUCCESS) {
		return NCSCC_RC_FAILURE;
	}

	vda_vdest_create = false;

	return NCSCC_RC_SUCCESS;
}
Ejemplo n.º 4
0
static uns32 ada_create(NCS_LIB_REQ_INFO *req)
{
	NCS_SPLR_REQ_INFO splr_req;

	memset(&splr_req, 0, sizeof(splr_req));

	/* STEP : Register VDA as a service provider */
	splr_req.i_sp_abstract_name = m_ADA_SP_ABST_NAME;
	splr_req.type = NCS_SPLR_REQ_REG;
	splr_req.info.reg.instantiation_api = ada_lib_req;
	splr_req.info.reg.instantiation_flags = 0;
	splr_req.info.reg.user_se_api = (NCSCONTEXT)ncsada_api;

	if (ncs_splr_api(&splr_req) != NCSCC_RC_SUCCESS) {
		return NCSCC_RC_FAILURE;
	}
	m_NCSADA_TRACE_ARG1("ADA:LIB_CREATE:DONE\n");
	return NCSCC_RC_SUCCESS;
}