VOS_UINT32 TAF_SPM_IsNeedCallControl(VOS_VOID) { TAF_SPM_SERVICE_CTRL_CFG_INFO_STRU *pstServiceCtrlCfgInfo = VOS_NULL_PTR; pstServiceCtrlCfgInfo = TAF_SPM_GetServiceCtrlCfgInfoAddr(); /* ME没有启用CALL CONTROL检查功能,直接返回业务检查通过 */ if (VOS_FALSE == pstServiceCtrlCfgInfo->ucSimCallCtrlSupportFlg) { return VOS_FALSE; } /* 根据(U)SIM卡的CALL CONTROL状态确定是否发起CALL CONTROL检查 0 去使能: 不做CALL CONTROL检查 1 使能: 做CALL CONTROL检查 如果是去使能状态,则退出; */ if (VOS_TRUE != NAS_USIMMAPI_IsServiceAvailable(NAS_USIM_SVR_CALL_CONTROL)) { return VOS_FALSE; } return VOS_TRUE; }
VOS_UINT32 TAF_SPM_IsNeedCheckFdn() { TAF_SPM_SERVICE_CTRL_CFG_INFO_STRU *pstServiceCtrlCfgInfo = VOS_NULL_PTR; VOS_UINT32 ulFdnStatus; pstServiceCtrlCfgInfo = TAF_SPM_GetServiceCtrlCfgInfoAddr(); /* ME没有启用FDN检查功能,直接返回业务检查通过 */ if (TAF_FDN_CHECK_FEATURE_ON != pstServiceCtrlCfgInfo->ulMeStatus) { return VOS_FALSE; } /* 根据(U)SIM卡的FDN状态确定是否发起FDN检查 0 去使能: 不做FDN检查 1 使能: 做FDN检查 */ NAS_USIMMAPI_FdnQuery(&ulFdnStatus); if (VOS_TRUE == ulFdnStatus) { return VOS_TRUE; } return VOS_FALSE; }
VOS_VOID TAF_SPM_ReadSimCallCtrlNvim(VOS_VOID) { TAF_SPM_SERVICE_CTRL_CFG_INFO_STRU *pstServiceCtrlCfgInfo = VOS_NULL_PTR; MN_CALL_NVIM_SIM_CALL_CONTROL_FLG_STRU stSimCallCtrlFlg; pstServiceCtrlCfgInfo = TAF_SPM_GetServiceCtrlCfgInfoAddr(); if (NV_OK != NV_Read(en_NV_Item_NVIM_SIM_CALL_CONTROL_SUPPORT_FLG, &stSimCallCtrlFlg, sizeof(MN_CALL_NVIM_SIM_CALL_CONTROL_FLG_STRU))) { TAF_WARNING_LOG(WUEPS_PID_TAF, "TAF_SPM_ReadNvimInfo():WARNING: en_NV_Item_NVIM_SIM_CALL_CONTROL_SUPPORT_FLG Error"); pstServiceCtrlCfgInfo->ucSimCallCtrlSupportFlg = VOS_FALSE; return; } pstServiceCtrlCfgInfo->ucSimCallCtrlSupportFlg = stSimCallCtrlFlg.ucSimCallCtrlSupportFlg; return; }
VOS_VOID TAF_SPM_ReadFdnInfoNvim(VOS_VOID) { TAF_SPM_SERVICE_CTRL_CFG_INFO_STRU *pstServiceCtrlCfgInfo = VOS_NULL_PTR; TAF_FDN_NVIM_CONFIG_STRU stFdnConfig; pstServiceCtrlCfgInfo = TAF_SPM_GetServiceCtrlCfgInfoAddr(); if (NV_OK != NV_Read(en_NV_Item_FDN_Info, &stFdnConfig, sizeof(TAF_FDN_NVIM_CONFIG_STRU))) { TAF_WARNING_LOG(WUEPS_PID_TAF, "TAF_SPM_ReadNvimInfo():WARNING: en_NV_Item_FDN_Info Error"); pstServiceCtrlCfgInfo->ulMeStatus = TAF_FDN_CHECK_FEATURE_OFF; return; } pstServiceCtrlCfgInfo->ulMeStatus = stFdnConfig.ulMeStatus; return; }
VOS_VOID TAF_SPM_ReadVideoCallNvim(VOS_VOID) { TAF_SPM_SERVICE_CTRL_CFG_INFO_STRU *pstServiceCtrlCfgInfo = VOS_NULL_PTR; MN_CALL_NV_ITEM_VIDEO_CALL_STRU stVideoCall; pstServiceCtrlCfgInfo = TAF_SPM_GetServiceCtrlCfgInfoAddr(); if (NV_OK != NV_Read(en_NV_Item_VIDEO_CALL, &stVideoCall, sizeof(MN_CALL_NV_ITEM_VIDEO_CALL_STRU))) { TAF_WARNING_LOG(WUEPS_PID_TAF, "TAF_SPM_ReadVideoCallNvim():WARNING: en_NV_Item_VIDEO_CALL Error"); return; } if (VOS_TRUE == stVideoCall.ucStatus) { pstServiceCtrlCfgInfo->enVpCfgState = stVideoCall.ucVpCfgState; } return; }