HRESULT MV_CC_DSS_Init(void)
{
	HRESULT res;

	if (pMV_APP_DSS != NULL)
		MV_CC_DBG_Error(E_NOTREADY, "MV_CC_DSS_Init", NULL);

	pMV_APP_DSS = MV_OSAL_Malloc(sizeof(MV_CC_DSP_t));
	if (pMV_APP_DSS == NULL)
		MV_CC_DBG_Error(E_OUTOFMEMORY, "MV_CC_DSS_Init"
				" MV_OSAL_Malloc", NULL);

	pMV_APP_DSS->m_SeqID = MV_CC_ServiceID_DynamicStart;

	MV_OSAL_Mutex_Create(&(pMV_APP_DSS->m_SeqIDMutex));
	MV_OSAL_Mutex_Create(&(pMV_APP_DSS->m_hGSListMutex));

	MV_OSAL_Mutex_Lock(pMV_APP_DSS->m_hGSListMutex);

	res = MV_CC_DSS_GlobalServiceList_Init();
	if (res != S_OK)
		MV_CC_DBG_Error(res, "MV_CC_DSS_Init"
		" MV_CC_DSS_GlobalServiceList_Init", NULL);

	pMV_APP_DSS->m_Status.m_RegCount =
	pMV_APP_DSS->m_Status.m_RegErrCount =
	pMV_APP_DSS->m_Status.m_FreeCount =
	pMV_APP_DSS->m_Status.m_FreeErrCount =
	pMV_APP_DSS->m_Status.m_InquiryCount =
	pMV_APP_DSS->m_Status.m_InquiryErrCount =
	pMV_APP_DSS->m_Status.m_UpdateCount =
	pMV_APP_DSS->m_Status.m_UpdateErrCount =
	pMV_APP_DSS->m_Status.m_ServiceCount =
	pMV_APP_DSS->m_Status.m_LastServiceID = 0;
	pMV_APP_DSS->m_Status.m_SeqID = pMV_APP_DSS->m_SeqID;

	MV_OSAL_Mutex_Unlock(pMV_APP_DSS->m_hGSListMutex);

	return S_OK;
}
Esempio n. 2
0
void *MV_CC_DSS_GlobalServiceList_SrvInfo_Ctor()
{
	return MV_OSAL_Malloc(sizeof(MV_CC_DSS_ServiceInfo_t));
}