VOS_UINT32 TAF_MMA_BuildEventType( struct MsgCB *pstMsg ) { VOS_UINT32 ulEventType; MSG_HEADER_STRU *pstMsgHeader = VOS_NULL_PTR; REL_TIMER_MSG *pstRcvTimerMsg = VOS_NULL_PTR; pstMsgHeader = (MSG_HEADER_STRU *)pstMsg; /* 动作表里的时间消息不能靠消息头名称进行区分,依靠其结构体的ulName域进行区分 所以此处进行分别处理 */ if (VOS_PID_TIMER == pstMsgHeader->ulSenderPid) { pstRcvTimerMsg = (REL_TIMER_MSG *)pstMsg; ulEventType = TAF_BuildEventType(pstMsgHeader->ulSenderPid, (VOS_UINT16)pstRcvTimerMsg->ulName); /* 停开关机相关定时器,原来的定时器在后续优化后停止 */ if (MN_TIMER_CLASS_MMA == (pstRcvTimerMsg->ulName & MN_TIMER_CLASS_MASK)) { TAF_MMA_StopTimer((VOS_UINT16)pstRcvTimerMsg->ulName); } } else { /*lint -e701*/ ulEventType = TAF_BuildEventType((VOS_UINT16)pstMsgHeader->ulSenderPid, (VOS_UINT16)pstMsgHeader->ulMsgName); /*lint +e701*/ } return ulEventType; }
VOS_UINT32 TAF_MMA_UsimGetFileRspPreProc( VOS_UINT32 ulEventType, struct MsgCB *pstMsg ) { VOS_UINT32 ulRet; TAF_PH_USIM_SPN_CNF_STRU stSpnTmp; MMA_GET_ICC_ID_ST *pstIccId = VOS_NULL_PTR; USIMM_READFILE_CNF_STRU *pUsimTafMsg = VOS_NULL_PTR; USIMM_DEF_FILEID_ENUM_UINT32 enFileID; PS_MEM_SET(&stSpnTmp, 0xFF, sizeof(TAF_PH_USIM_SPN_CNF_STRU)); pUsimTafMsg = (USIMM_READFILE_CNF_STRU *)pstMsg; if (VOS_OK != USIMM_ChangePathToDefFileID(pUsimTafMsg->stCmdResult.enApptype, pUsimTafMsg->stFilePath.ulPathLen, pUsimTafMsg->stFilePath.acPath, &enFileID)) { return VOS_FALSE; } pstIccId = TAF_MMA_GetIccIdInfo(); pUsimTafMsg = (USIMM_READFILE_CNF_STRU*)pstMsg; TAF_MMA_ClearWaitSimFilesCnfFlg(enFileID); switch (enFileID) { case USIMM_USIM_EFSPN_ID: case USIMM_GSM_EFSPN_ID: if (MMA_SUCCESS == pUsimTafMsg->stCmdResult.ulResult) { if (pUsimTafMsg->usEfLen > sizeof(TAF_PH_USIM_SPN_CNF_STRU)) { MMA_MEM_CPY(&stSpnTmp, (VOS_UINT8*)(VOS_UINT32)(pUsimTafMsg->aucEf), sizeof(TAF_PH_USIM_SPN_CNF_STRU)); } else { MMA_MEM_CPY(&stSpnTmp, pUsimTafMsg->aucEf, pUsimTafMsg->usEfLen); } MMA_ReadSpnFileCnf((TAF_PH_USIM_SPN_CNF_STRU *)&stSpnTmp, enFileID); } break; case USIMM_GSM_EFONS_ID: TAF_MMA_ReadCphsFileCnf(pUsimTafMsg); break; case USIMM_ICCID_ID: MMA_MEM_SET(&(pstIccId->stIccId), 0, sizeof(TAF_PH_ICC_ID_STRU)); MMA_MEM_CPY(pstIccId->stIccId.aucIccId, pUsimTafMsg->aucEf, pUsimTafMsg->usEfLen); pstIccId->stIccId.ucLen = (VOS_UINT8)pUsimTafMsg->usEfLen; TAF_MMA_ReadIccIdFileCnf(); break; case USIMM_USIM_EFIMSI_ID: case USIMM_GSM_EFIMSI_ID: ulRet = MMA_CheckPin1SatusSimple(); if ( MMA_NONEED_PIN1 == ulRet ) { if (pUsimTafMsg->usEfLen< 10 ) { MMA_MEM_CPY(TAF_SDC_GetSimImsi(), pUsimTafMsg->aucEf, pUsimTafMsg->usEfLen); /* 检查是否锁卡 */ (VOS_VOID)MMA_CheckMePersonalisationStatus(); } } break; case USIMM_USIM_EFPNN_ID: case USIMM_GSM_EFPNN_ID: TAF_MMA_ReadPnnFileCnf(pUsimTafMsg, enFileID); break; case USIMM_USIM_EFOPL_ID: case USIMM_GSM_EFOPL_ID: TAF_MMA_ReadOplFileCnf(pUsimTafMsg, enFileID); break; case USIMM_USIM_EFSPDI_ID: case USIMM_GSM_EFSPDI_ID: TAF_MMA_ReadSpdiFileCnf(pUsimTafMsg, enFileID); break; case USIMM_USIM_EFAD_ID: case USIMM_GSM_EFAD_ID: TAF_MMA_GetUsimHplmnMncLenFileInd(pUsimTafMsg); break; case USIMM_GSM_EFCSP_ID: TAF_MMA_RcvCustomerServiceProfileFile(pUsimTafMsg->stCmdResult.ulResult, pUsimTafMsg->usEfLen, pUsimTafMsg->aucEf); break; #if (FEATURE_ON == FEATURE_UE_MODE_CDMA) case USIMM_CSIM_EFRUIMID_ID: case USIMM_CDMA_EFRUIMID_ID: TAF_MMA_RcvUsimmReadRuimidFile(pUsimTafMsg); break; #endif case USIMM_USIM_EFEHPLMN_ID: TAF_MMA_GetUsimEHplmnFileInd(pUsimTafMsg); break; case USIMM_ATTGSM_EFACTINGHPLMN_ID: TAF_MMA_GetSimActingHplmnFileInd(pUsimTafMsg); break; default: MMA_WARNINGLOG("TAf_MMA_UsimGetFileRspMsgProc():WARNING:UNKNOW EFID RECEIVE!"); break; } if (TAF_MMA_READ_USIM_FILE_FLG_NULL == TAF_MMA_GetWaitSimFilesCnfFlg()) { TAF_MMA_StopTimer(TI_TAF_MMA_WAIT_READ_SIM_FILES); } return VOS_TRUE; }