/***************************************************************************** Function Name : IMSA_TafMsgDistr() Description : TAF消息分发函数 TAF这个PID下有多个模块MMA/SPM/APS,需要实现对这个模块消息的分发 Input : VOS_VOID *pRcvMsg Output : VOS_VOID Return Value : VOS_VOID History : 1.sunbing 49683 2013-06-20 Draft Enact *****************************************************************************/ VOS_VOID IMSA_TafMsgDistr(const VOS_VOID *pRcvMsg ) { /* 定义消息头指针*/ PS_MSG_HEADER_STRU *pHeader = VOS_NULL_PTR; IMSA_CONTROL_MANAGER_STRU *pstControlManager; /* 获取消息头指针*/ pHeader = (PS_MSG_HEADER_STRU *) pRcvMsg; pstControlManager = IMSA_GetControlManagerAddress(); /* 关机过程中收到TAF发送的消息,直接丢弃 */ if(pstControlManager->enImsaStatus == IMSA_STATUS_STOPING) { IMSA_WARN_LOG("IMSA_TafMsgDistr: Status is Stoping!"); return; } /*APS消息*/ if(MN_CALLBACK_PS_CALL == pHeader->ulMsgName) { IMSA_CONN_ProcTafPsEvt((TAF_PS_EVT_STRU*)pRcvMsg); return ; } /*CALL 消息*/ if((pHeader->ulMsgName >= ID_CALL_IMSA_SRVCC_STATUS_NOTIFY) &&(pHeader->ulMsgName <= ID_CALL_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcTafCallMsg(pRcvMsg); return; } /*SPM消息*/ if ((pHeader->ulMsgName >= ID_SPM_IMSA_CALL_ORIG_REQ) && (pHeader->ulMsgName <= ID_SPM_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcSpmCallMsg(pRcvMsg); return; } /*短信消息*/ if((pHeader->ulMsgName >= ID_MSG_IMSA_RP_DATA_REQ ) &&(pHeader->ulMsgName <= ID_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcSmsMsg(pRcvMsg); return; } }
/***************************************************************************** Function Name : IMSA_TafMsgDistr() Description : TAF消息分发函数 TAF这个PID下有多个模块MMA/SPM/APS,需要实现对这个模块消息的分发 Input : VOS_VOID *pRcvMsg Output : VOS_VOID Return Value : VOS_VOID History : 1.sunbing 49683 2013-06-20 Draft Enact *****************************************************************************/ VOS_VOID IMSA_TafMsgDistr(const VOS_VOID *pRcvMsg ) { /* 定义消息头指针*/ PS_MSG_HEADER_STRU *pHeader = VOS_NULL_PTR; /* 获取消息头指针*/ pHeader = (PS_MSG_HEADER_STRU *) pRcvMsg; /*APS消息*/ if(MN_CALLBACK_PS_CALL == pHeader->ulMsgName) { IMSA_CONN_ProcTafPsEvt((TAF_PS_EVT_STRU*)pRcvMsg); return ; } /*CALL 消息*/ if((pHeader->ulMsgName >= ID_CALL_IMSA_SRVCC_STATUS_NOTIFY) &&(pHeader->ulMsgName <= ID_CALL_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcTafCallMsg(pRcvMsg); return; } /*SPM消息*/ if ((pHeader->ulMsgName >= ID_SPM_IMSA_CALL_ORIG_REQ) && (pHeader->ulMsgName <= ID_SPM_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcSpmCallMsg(pRcvMsg); return; } /*短信消息*/ if((pHeader->ulMsgName >= ID_MSG_IMSA_RP_DATA_REQ ) &&(pHeader->ulMsgName <= ID_IMSA_MSG_TYPE_BUTT)) { IMSA_ProcSmsMsg(pRcvMsg); return; } }