VOS_VOID SSA_ReportUssdDataSndEvent(VOS_UINT8 ucTi) { TAF_SS_CALL_INDEPENDENT_EVENT_STRU *pstSsEvent; pstSsEvent = (TAF_SS_CALL_INDEPENDENT_EVENT_STRU *)PS_MEM_ALLOC(WUEPS_PID_SS, sizeof(TAF_SS_CALL_INDEPENDENT_EVENT_STRU)); if (VOS_NULL_PTR == pstSsEvent) { SSA_LOG(ERROR_PRINT, "SSA_ReportUssdDataSndEvent:ERROR: Alloc Mem Fail"); SSA_TiFree(ucTi); return; } /*对事件上报的内容赋初值*/ PS_MEM_SET(pstSsEvent, 0 , 4); pstSsEvent->SsEvent = TAF_SS_EVT_USSD_DATA_SND; pstSsEvent->OpId = gastSsaStatetable[ucTi].OpId; pstSsEvent->ClientId = gastSsaStatetable[ucTi].ClientId; MN_SendClientEvent(pstSsEvent->ClientId, MN_CALLBACK_SS, pstSsEvent->SsEvent, pstSsEvent); PS_MEM_FREE(WUEPS_PID_SS, pstSsEvent); return; }
VOS_VOID TAF_SPM_ProcMoSmsRpt(TAF_SPM_MSG_REPORT_IND_STRU *pstMsgReportInd) { MN_MSG_EVENT_INFO_STRU *pstMsgEventInfo = VOS_NULL_PTR; pstMsgEventInfo = PS_MEM_ALLOC(WUEPS_PID_TAF, sizeof(MN_MSG_EVENT_INFO_STRU)); if (VOS_NULL_PTR == pstMsgEventInfo) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_SPM_ProcMoSmsRpt: ERROR:Memory Alloc is failure!"); return; } PS_MEM_SET(pstMsgEventInfo, 0, sizeof(MN_MSG_EVENT_INFO_STRU)); pstMsgEventInfo->u.stSubmitRptInfo.enSaveArea = pstMsgReportInd->stRptEvtInfo.enSaveArea; pstMsgEventInfo->u.stSubmitRptInfo.ulSaveIndex = pstMsgReportInd->stRptEvtInfo.ulSaveIndex; pstMsgEventInfo->u.stSubmitRptInfo.ucMr = pstMsgReportInd->stRptEvtInfo.ucMr; pstMsgEventInfo->clientId = pstMsgReportInd->usClientId; pstMsgEventInfo->opId = pstMsgReportInd->ucOpId; if (TAF_MSG_ERROR_NO_ERROR != pstMsgReportInd->stRptEvtInfo.enErrorCode) { /* 短信发送失败,则转换cause值 */ pstMsgEventInfo->u.stSubmitRptInfo.enErrorCode = pstMsgReportInd->stRptEvtInfo.enErrorCode; } /* 通知应用短信发送结果 */ MN_SendClientEvent(pstMsgReportInd->usClientId, MN_CALLBACK_MSG, MN_MSG_EVT_SUBMIT_RPT, (VOS_VOID *)pstMsgEventInfo); PS_MEM_FREE(WUEPS_PID_TAF, pstMsgEventInfo); }
VOS_VOID TAF_SPM_ProcSmmaRpt(TAF_SPM_MSG_REPORT_IND_STRU *pstMsgReportInd) { MN_MSG_EVENT_INFO_STRU *pstMsgEventInfo = VOS_NULL_PTR; /* 不需要报道SMMA结果事件,返回 */ if (VOS_FALSE == pstMsgReportInd->ucReportFlag) { return; } pstMsgEventInfo = PS_MEM_ALLOC(WUEPS_PID_TAF, sizeof(MN_MSG_EVENT_INFO_STRU)); if (VOS_NULL_PTR == pstMsgEventInfo ) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_SPM_ProcSmmaRpt: ERROR:Memory Alloc is failure!"); return; } PS_MEM_SET(pstMsgEventInfo, 0, sizeof(MN_MSG_EVENT_INFO_STRU)); /* 设置client ID与op ID */ pstMsgEventInfo->clientId = pstMsgReportInd->usClientId; pstMsgEventInfo->opId = pstMsgReportInd->ucOpId; if (TAF_MSG_ERROR_NO_ERROR != pstMsgReportInd->stRptEvtInfo.enErrorCode) { pstMsgEventInfo->u.stMemStatusInfo.bSuccess = VOS_FALSE; pstMsgEventInfo->u.stMemStatusInfo.ulFailCause = pstMsgReportInd->stRptEvtInfo.enErrorCode; pstMsgEventInfo->u.stMemStatusInfo.enMemFlag = MN_MSG_MEM_FULL_SET; /* 上报SMMA事件 */ MN_SendClientEvent(pstMsgReportInd->usClientId, MN_CALLBACK_MSG, MN_MSG_EVT_SET_MEMSTATUS, (VOS_VOID *)pstMsgEventInfo); } else { pstMsgEventInfo->u.stMemStatusInfo.bSuccess = VOS_TRUE; pstMsgEventInfo->u.stMemStatusInfo.ulFailCause = MN_ERR_NO_ERROR; pstMsgEventInfo->u.stMemStatusInfo.enMemFlag = MN_MSG_MEM_FULL_UNSET; /* 上报SMMA事件 */ MN_SendClientEvent(pstMsgReportInd->usClientId, MN_CALLBACK_MSG, MN_MSG_EVT_SET_MEMSTATUS, (VOS_VOID *)&pstMsgEventInfo); /* 更新op ID为广播op ID */ pstMsgEventInfo->opId = pstMsgReportInd->ucBcOpId; /* 广播事件 */ MN_SendClientEvent(MN_CLIENT_ALL, MN_CALLBACK_MSG, MN_MSG_EVT_MEMSTATUS_CHANGED, (VOS_VOID *)pstMsgEventInfo); } PS_MEM_FREE(WUEPS_PID_TAF, pstMsgEventInfo); }