VOS_VOID MN_DispatchTafMsg (struct MsgCB * pstMsg) { /* TAF->TAF的消息定义一个统一的结构体,取出消息分段 */ TAF_INTERNAL_MSG_STRU *pstTafMsg = VOS_NULL_PTR; pstTafMsg = (TAF_INTERNAL_MSG_STRU *)pstMsg; switch (pstTafMsg->ulMsgId & ID_TAF_MNTN_MSG_MASK) { /* 来自APS API的消息交给APS处理 */ case ID_TAF_APS_INTERNAL_BASE: TAF_APS_ProcMsg(pstMsg); break; /* 发送给MSG的消息到MSG处理 */ /* 目前只有ID_TAF_SPM_SMMA_REQ,MSG先发送到SPM进行域选择,域选择之后再到MSG处理 */ case ID_TAF_MSG_INTERNAL_BASE: TAF_MSG_ProcTafMsg(pstMsg); break; /* 其他消息不需要处理 */ default: MN_NORM_LOG("MN_DispatchTafMsg: Unknown message type."); break; } return; }
VOS_VOID MN_ProcOmMsg (struct MsgCB * pstMsg) { ID_NAS_OM_INQUIRE_STRU *pstOmInquire; pstOmInquire = (ID_NAS_OM_INQUIRE_STRU *)pstMsg; switch ( pstOmInquire->usPrimId ) { case ID_NAS_OM_SET_CODEC_TYPE_REQUIRE : case ID_NAS_OM_CODEC_TYPE_INQUIRE : MN_CALL_ProcOmMsg(pstMsg); break; case ID_NAS_OM_SET_DSFLOW_RPT_REQ : TAF_APS_ProcMsg(pstMsg); break; default: MN_NORM_LOG("MN_CALL_ProcOmMsg:wrong PrimId!"); break; } return; }
VOS_VOID MN_CALL_ProcOmMsg( VOS_VOID *pstMsg ) { ID_NAS_OM_INQUIRE_STRU *pstOmInquire; pstOmInquire = (ID_NAS_OM_INQUIRE_STRU *)pstMsg; switch ( pstOmInquire->usPrimId ) { case ID_NAS_OM_SET_CODEC_TYPE_REQUIRE : MN_CALL_ProcOmConfigGsmCodec(pstOmInquire); break; case ID_NAS_OM_CODEC_TYPE_INQUIRE : MN_CALL_ProcOmCodecRpt(pstOmInquire); break; default: MN_NORM_LOG("MN_CALL_ProcOmMsg:wrong PrimId!"); break; } }
LOCAL VOS_VOID MSG_GetEfCnfTimeout( VOS_UINT32 ulParam ) { MN_MSG_USIM_POWER_STATE_ENUM_U8 enPowerState; MN_MSG_GetUsimPowerState(&enPowerState); switch (enPowerState) { case MN_MSG_USIM_POWER_WAIT_EFSMSS: MN_NORM_LOG("MSG_GetEfCnfTimeout:WAIT EFSMSS"); /*获取EFSMSP文件的内容*/ if (TAF_SDC_SIM_TYPE_USIM == TAF_SDC_GetSimType()) { MN_MSG_GetUsimParmReq(USIMM_USIM_EFSMSP_ID); } else { MN_MSG_GetUsimParmReq(USIMM_TELE_EFSMSP_ID); } break; case MN_MSG_USIM_POWER_WAIT_EFSMSP: /* 上报EFSMSP文件读取完成 */ MN_MSG_SmspInitFinish(MN_CLIENT_ALL); MN_NORM_LOG("MSG_GetEfCnfTimeout:WAIT EFSMSP"); /*获取EFSMS文件的内容*/ if (TAF_SDC_SIM_TYPE_USIM == TAF_SDC_GetSimType()) { MN_MSG_GetUsimParmReq(USIMM_USIM_EFSMS_ID); } else { MN_MSG_GetUsimParmReq(USIMM_TELE_EFSMS_ID); } break; case MN_MSG_USIM_POWER_WAIT_EFSMSREC: MN_NORM_LOG("MSG_GetEfCnfTimeout:WAIT EFSMSREC"); /*获取EFSMSR文件的内容*/ if (TAF_SDC_SIM_TYPE_USIM == TAF_SDC_GetSimType()) { MN_MSG_GetUsimParmReq(USIMM_USIM_EFSMSR_ID); } else { MN_MSG_GetUsimParmReq(USIMM_TELE_EFSMSR_ID); } break; case MN_MSG_USIM_POWER_WAIT_EFSMS: MN_NORM_LOG("MSG_GetEfCnfTimeout:WAIT EFSMS"); MSG_GetEfSmsTimerout(); break; case MN_MSG_USIM_POWER_WAIT_EFSMSR: MN_NORM_LOG("MSG_GetEfCnfTimeout:WAIT EFSMSR"); /*上报初始化完成*/ MN_MSG_GetUsimParmReq(USIMM_DEF_FILEID_BUTT); break; default: MN_WARN_LOG("MSG_GetEfCnfTimeout:Invalid enPowerState"); break; } }