1 /* 2 * Copyright (C) 2022-2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef OHOS_RIL_CALLBACK_TEST_H 17 #define OHOS_RIL_CALLBACK_TEST_H 18 19 #include "condition_variable" 20 #include "map" 21 #include "mutex" 22 #include "v1_5/iril.h" 23 #include "ril_callback_hdiid.h" 24 25 namespace OHOS { 26 namespace Telephony { 27 constexpr static int32_t SLOTID_1 = 0; 28 constexpr static int32_t SLOTID_2 = 1; 29 constexpr static int32_t SUCCESS = 0; 30 constexpr static int32_t WAIT_TIME_SECOND = 20; 31 constexpr static int32_t WAIT_TIME_SECOND_LONG = 40; 32 constexpr static int32_t CID = 1; 33 constexpr static int32_t REASON = 2; 34 constexpr int32_t TEST_TOSCA = 0; 35 const std::string TEST_STORAGE_PDU = "1234"; 36 const std::string TEST_SEND_PDU = "A10305810180F6000004F4F29C0E"; 37 const std::string TEST_SMSC_PDU = "00"; 38 const std::string TEST_CDMA_PDU = "pdu"; 39 const std::string TEST_ID_LIST = "0,1,320-478,922"; 40 const std::string TEST_DCS_LIST = "0-3,5"; 41 const int32_t TEST_MODE = 0; 42 const bool TEST_RESULT = true; 43 44 enum class DeviceStateType { POWER_SAVE_MODE, CHARGING_STATE, LOW_DATA_STATE }; 45 46 enum class NotificationFilter { 47 NOTIFICATION_FILTER_ALL = -1, 48 NOTIFICATION_FILTER_NONE = 0, 49 NOTIFICATION_FILTER_SIGNAL_STRENGTH = 1, 50 NOTIFICATION_FILTER_NETWORK_STATE = 2, 51 NOTIFICATION_FILTER_DATA_CALL = 4, 52 NOTIFICATION_FILTER_LINK_CAPACITY = 8, 53 NOTIFICATION_FILTER_PHYSICAL_CHANNEL_CONFIG = 16 54 }; 55 56 enum class RatType { 57 NETWORK_TYPE_UNKNOWN = 0, 58 NETWORK_TYPE_GSM, 59 NETWORK_TYPE_CDMA, 60 NETWORK_TYPE_WCDMA, 61 NETWORK_TYPE_TDSCDMA, 62 NETWORK_TYPE_LTE, 63 NETWORK_TYPE_NR 64 }; 65 66 enum class SelectionMode { MODE_TYPE_UNKNOWN = -1, MODE_TYPE_AUTO = 0, MODE_TYPE_MANUAL = 1 }; 67 68 enum class PreferredNetworkMode { 69 CORE_NETWORK_MODE_AUTO = 0, 70 CORE_NETWORK_MODE_GSM = 1, 71 CORE_NETWORK_MODE_WCDMA = 2, 72 CORE_NETWORK_MODE_LTE = 3, 73 CORE_NETWORK_MODE_LTE_WCDMA = 4, 74 CORE_NETWORK_MODE_LTE_WCDMA_GSM = 5, 75 CORE_NETWORK_MODE_WCDMA_GSM = 6, 76 CORE_NETWORK_MODE_CDMA = 7, 77 CORE_NETWORK_MODE_EVDO = 8, 78 CORE_NETWORK_MODE_EVDO_CDMA = 9, 79 CORE_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA = 10, 80 CORE_NETWORK_MODE_LTE_EVDO_CDMA = 11, 81 CORE_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA = 12, 82 CORE_NETWORK_MODE_TDSCDMA = 13, 83 CORE_NETWORK_MODE_TDSCDMA_GSM = 14, 84 CORE_NETWORK_MODE_TDSCDMA_WCDMA = 15, 85 CORE_NETWORK_MODE_TDSCDMA_WCDMA_GSM = 16, 86 CORE_NETWORK_MODE_LTE_TDSCDMA = 17, 87 CORE_NETWORK_MODE_LTE_TDSCDMA_GSM = 18, 88 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19, 89 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM = 20, 90 CORE_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 21, 91 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 22, 92 CORE_NETWORK_MODE_NR = 31, 93 CORE_NETWORK_MODE_NR_LTE = 32, 94 CORE_NETWORK_MODE_NR_LTE_WCDMA = 33, 95 CORE_NETWORK_MODE_NR_LTE_WCDMA_GSM = 34, 96 CORE_NETWORK_MODE_NR_LTE_EVDO_CDMA = 35, 97 CORE_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA = 36, 98 CORE_NETWORK_MODE_NR_LTE_TDSCDMA = 37, 99 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 38, 100 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 39, 101 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM = 40, 102 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 41, 103 CORE_NETWORK_MODE_MAX_VALUE = 99, 104 }; 105 106 enum class SimMessageStatus { 107 SIM_MESSAGE_STATUS_UNREAD = 0, 108 SIM_MESSAGE_STATUS_READ = 1, 109 SIM_MESSAGE_STATUS_UNSENT = 2, 110 SIM_MESSAGE_STATUS_SENT = 3, 111 }; 112 113 class RilCallbackTest : public HDI::Ril::V1_5::IRilCallback { 114 public: 115 void NotifyAll(); 116 void WaitFor(int32_t timeoutSecond); 117 bool GetBoolResult(HdiId hdiId_); 118 void Clean(); 119 // Call 120 int32_t CallStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 121 int32_t CallRingbackVoiceNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 122 const HDI::Ril::V1_1::RingbackVoice &ringbackVoice) override; 123 int32_t CallSrvccStatusNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 124 const HDI::Ril::V1_1::SrvccStatus &srvccStatus) override; 125 int32_t CallUssdNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 126 const HDI::Ril::V1_1::UssdNoticeInfo &ussdNoticeInfo) override; 127 int32_t CallSsNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 128 const HDI::Ril::V1_1::SsNoticeInfo &ssNoticeInfo) override; 129 int32_t CallEmergencyNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 130 const HDI::Ril::V1_1::EmergencyInfoList &emergencyInfoList) override; 131 int32_t CallRsrvccStatusNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 132 int32_t SetEmergencyCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 133 int32_t GetEmergencyCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 134 const HDI::Ril::V1_1::EmergencyInfoList &emergencyInfoList) override; 135 int32_t GetCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 136 const HDI::Ril::V1_1::CallInfoList &callList) override; 137 int32_t GetCallListResponseExt(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 138 const HDI::Ril::V1_4::CallInfoExtList &callList) override; 139 int32_t DialResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 140 int32_t HangupResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 141 int32_t RejectResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 142 int32_t AnswerResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 143 int32_t HoldCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 144 int32_t UnHoldCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 145 int32_t SwitchCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 146 int32_t GetClipResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 147 const HDI::Ril::V1_1::GetClipResult &getClipResult) override; 148 int32_t SetClipResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 149 int32_t CombineConferenceResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 150 int32_t SeparateConferenceResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 151 int32_t CallSupplementResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 152 int32_t GetCallWaitingResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 153 const HDI::Ril::V1_1::CallWaitResult &callWaitResult) override; 154 int32_t SetCallWaitingResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 155 int32_t GetCallTransferInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 156 const HDI::Ril::V1_1::CallForwardQueryInfoList &cFQueryList) override; 157 int32_t SetCallTransferInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 158 int32_t GetCallRestrictionResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 159 const HDI::Ril::V1_1::CallRestrictionResult &result) override; 160 int32_t SetCallRestrictionResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 161 int32_t GetClirResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 162 const HDI::Ril::V1_1::GetClirResult &getClirResult) override; 163 int32_t SetClirResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 164 int32_t StartDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 165 int32_t SendDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 166 int32_t StopDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 167 int32_t GetCallPreferenceModeResponse( 168 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 169 int32_t SetCallPreferenceModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 170 int32_t SetUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 171 int32_t GetUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t cusd) override; 172 int32_t SetMuteResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 173 int32_t GetMuteResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mute) override; 174 int32_t GetCallFailReasonResponse( 175 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t callFail) override; 176 int32_t SetBarringPasswordResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 177 int32_t CloseUnFinishedUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 178 int32_t SetVonrSwitchResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 179 // Data 180 int32_t PdpContextListUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 181 const HDI::Ril::V1_1::DataCallResultList &dataCallResultList) override; 182 int32_t DataLinkCapabilityUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 183 const HDI::Ril::V1_1::DataLinkCapability &dataLinkCapability) override; 184 int32_t ActivatePdpContextResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 185 const HDI::Ril::V1_1::SetupDataCallResultInfo &setupDataCallResultInfo) override; 186 int32_t DeactivatePdpContextResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 187 int32_t GetPdpContextListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 188 const HDI::Ril::V1_1::DataCallResultList &dataCallResultList) override; 189 int32_t SetInitApnInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 190 int32_t SetLinkBandwidthReportingRuleResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 191 int32_t GetLinkBandwidthInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 192 const HDI::Ril::V1_1::DataLinkBandwidthInfo &dataLinkBandwidthInfo) override; 193 int32_t SetDataPermittedResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 194 int32_t SetDataProfileInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo); 195 int32_t GetLinkCapabilityResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 196 const HDI::Ril::V1_1::DataLinkCapability &dataLinkCapability) override; 197 int32_t CleanAllConnectionsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 198 int32_t NcfgFinishedResult(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo, int32_t state) override; 199 int32_t RestartRildNvMatch(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo, int32_t state) override; 200 int32_t NetworkSliceUrspRpt(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 201 const HDI::Ril::V1_4::NetworkSliceUrspInfo &networkSliceUrspInfo) override; 202 int32_t NetworkSliceAllowedNssaiRpt(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 203 const HDI::Ril::V1_4::NetworkSliceAllowedNssaiInfo &networkSliceAllowedNssaiInfo) override; 204 int32_t NetworkSliceEhplmnRpt(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 205 const HDI::Ril::V1_4::NetworkSliceEhplmnInfo &networkSliceEhplmnInfo) override; 206 int32_t SendUrspDecodeResultResponse(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo); 207 int32_t SendUePolicySectionIdentifierResponse(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo); 208 int32_t GetNetworkSliceAllowedNssaiResponse(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo); 209 int32_t GetNetworkSliceEhplmnResponse(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo); 210 int32_t SendImsRsdListResponse(const HDI::Ril::V1_3::RilRadioResponseInfo &responseInfo); 211 // Modem 212 int32_t RadioStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 213 int32_t VoiceRadioTechUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 214 const HDI::Ril::V1_1::VoiceRadioTechnology &voiceRadioTechnology) override; 215 int32_t DsdsModeUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 216 int32_t ShutDownResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 217 int32_t SetRadioStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 218 int32_t GetRadioStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 219 int32_t GetImeiResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &imei) override; 220 int32_t GetImeiSvResponse( 221 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &imeiSv) override; 222 int32_t GetMeidResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &meid) override; 223 int32_t GetVoiceRadioTechnologyResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 224 const HDI::Ril::V1_1::VoiceRadioTechnology &voiceRadioTechnology) override; 225 int32_t GetBasebandVersionResponse( 226 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &basebandVersion) override; 227 // Sim notice 228 int32_t SimStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 229 int32_t SimStkSessionEndNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 230 int32_t SimStkProactiveNotify( 231 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 232 int32_t SimStkAlphaNotify( 233 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 234 int32_t SimStkEventNotify( 235 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 236 int32_t SimStkCallSetupNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 237 int32_t SimRefreshNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; SimRadioProtocolUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const HDI::Ril::V1_1::RadioProtocol & radioProtocol)238 int32_t SimRadioProtocolUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 239 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override 240 { 241 return 0; 242 } 243 // Sim response 244 int32_t GetSimIOResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 245 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 246 int32_t GetSimStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 247 const HDI::Ril::V1_1::CardStatusInfo &result) override; 248 int32_t GetSimCardStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 249 const HDI::Ril::V1_3::SimCardStatusInfo &result) override; 250 int32_t GetImsiResponse( 251 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 252 int32_t GetSimLockStatusResponse( 253 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t simLockStatus) override; 254 int32_t SetSimLockResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 255 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 256 int32_t ChangeSimPasswordResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 257 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 258 int32_t UnlockPinResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 259 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 260 int32_t UnlockPukResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 261 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 262 int32_t UnlockPin2Response(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 263 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 264 int32_t UnlockPuk2Response(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 265 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 266 int32_t SetActiveSimResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 267 int32_t SimStkSendTerminalResponseResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 268 int32_t SimStkSendEnvelopeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 269 int32_t SimStkSendCallSetupRequestResultResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 270 int32_t SimStkIsReadyResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 271 int32_t SetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 272 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override; GetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const HDI::Ril::V1_1::RadioProtocol & radioProtocol)273 int32_t GetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 274 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override 275 { 276 return 0; 277 } 278 int32_t SimOpenLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 279 const HDI::Ril::V1_1::OpenLogicalChannelResponse &pOpenLogicalChannelResponse) override; 280 int32_t SimCloseLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 281 int32_t SimTransmitApduLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 282 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 283 int32_t SimTransmitApduBasicChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 284 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 285 int32_t SimAuthenticationResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 286 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 287 int32_t UnlockSimLockResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 288 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 289 int32_t SendSimMatchedOperatorInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 290 int32_t GetPrimarySlotResponse( 291 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t primarySlot) override; 292 int32_t SetPrimarySlotResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 293 // Network 294 int32_t NetworkCsRegStatusUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 295 const HDI::Ril::V1_1::CsRegStatusInfo &csRegStatusInfo) override; 296 int32_t NetworkPsRegStatusUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 297 const HDI::Ril::V1_1::PsRegStatusInfo &psRegStatusInfo) override; 298 int32_t SignalStrengthUpdated( 299 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const HDI::Ril::V1_1::Rssi &rssi) override; 300 int32_t NetworkTimeZoneUpdated( 301 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &timeZoneStr) override; 302 int32_t NetworkTimeUpdated( 303 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &timeStr) override; 304 int32_t NetworkPhyChnlCfgUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 305 const HDI::Ril::V1_1::ChannelConfigInfoList &channelConfigInfoList) override; 306 int32_t NetworkCurrentCellUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 307 const HDI::Ril::V1_1::CellListCurrentInfo &cellListCurrentInfo) override; 308 int32_t NetworkCurrentCellUpdated_1_1(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 309 const HDI::Ril::V1_1::CellListCurrentInfo_1_1 &cellListCurrentInfo) override; 310 int32_t NetworkCurrentCellUpdated_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 311 const HDI::Ril::V1_2::CellListCurrentInfo_1_2 &cellListCurrentInfo) override; 312 int32_t ResidentNetworkUpdated( 313 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &plmn) override; 314 int32_t GetSignalStrengthResponse( 315 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const HDI::Ril::V1_1::Rssi &rssi) override; 316 int32_t GetCsRegStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 317 const HDI::Ril::V1_1::CsRegStatusInfo &csRegStatusInfo) override; 318 int32_t GetPsRegStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 319 const HDI::Ril::V1_1::PsRegStatusInfo &psRegStatusInfo) override; 320 int32_t GetOperatorInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 321 const HDI::Ril::V1_1::OperatorInfo &operatorInfo) override; 322 int32_t GetNetworkSearchInformationResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 323 const HDI::Ril::V1_1::AvailableNetworkList &availableNetworkList) override; 324 int32_t GetNetworkSelectionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 325 const HDI::Ril::V1_1::SetNetworkModeInfo &setNetworkModeInfo) override; 326 int32_t SetNetworkSelectionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 327 int32_t GetNeighboringCellInfoListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 328 const HDI::Ril::V1_1::CellListNearbyInfo &cellInfoList) override; 329 int32_t GetNeighboringCellInfoListResponse_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 330 const HDI::Ril::V1_2::CellListNearbyInfo_1_2 &cellInfoList) override; 331 int32_t GetCurrentCellInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 332 const HDI::Ril::V1_1::CellListCurrentInfo &cellInfoList) override; 333 int32_t GetCurrentCellInfoResponse_1_1(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 334 const HDI::Ril::V1_1::CellListCurrentInfo_1_1 &cellListCurrentInfo) override; 335 int32_t GetCurrentCellInfoResponse_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 336 const HDI::Ril::V1_2::CellListCurrentInfo_1_2 &cellListCurrentInfo) override; 337 int32_t SetPreferredNetworkResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 338 int32_t GetPreferredNetworkResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 339 const HDI::Ril::V1_1::PreferredNetworkTypeInfo &preferredNetworkTypeInfo) override; 340 int32_t GetPhysicalChannelConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 341 const HDI::Ril::V1_1::ChannelConfigInfoList &channelConfigInfoList) override; 342 int32_t SetLocateUpdatesResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 343 int32_t SetNotificationFilterResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 344 int32_t SetDeviceStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 345 int32_t SetNrOptionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 346 int32_t GetNrOptionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 347 int32_t GetRrcConnectionStateResponse( 348 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t rrcConnectionState) override; 349 int32_t GetRrcConnectionStateUpdated( 350 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 351 int32_t GetNrSsbIdResponse(const HDI::Ril::V1_2::RilRadioResponseInfo &responseInfo, 352 const HDI::Ril::V1_2::NrCellSsbIds &nrCellSsbIds) override; 353 // Sms 354 int32_t NewSmsNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 355 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 356 int32_t NewCdmaSmsNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 357 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 358 int32_t SmsStatusReportNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 359 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 360 int32_t NewSmsStoredOnSimNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 361 int32_t recordNumber, int32_t indicationType) override; 362 int32_t CBConfigNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 363 const HDI::Ril::V1_1::CBConfigReportInfo &cellBroadConfigReportInfo) override; 364 int32_t SendGsmSmsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 365 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 366 int32_t SendCdmaSmsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 367 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 368 int32_t AddSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 369 int32_t DelSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 370 int32_t UpdateSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 371 int32_t AddCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 372 int32_t DelCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 373 int32_t UpdateCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 374 int32_t SetSmscAddrResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 375 int32_t GetSmscAddrResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 376 const HDI::Ril::V1_1::ServiceCenterAddress &serviceCenterAddress) override; 377 int32_t SetCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 378 int32_t GetCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 379 const HDI::Ril::V1_1::CBConfigInfo &cellBroadcastInfo) override; 380 int32_t SetCdmaCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 381 int32_t GetCdmaCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 382 const HDI::Ril::V1_1::CdmaCBConfigInfo &cdmaCBConfigInfo) override; 383 int32_t SendSmsMoreModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 384 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 385 int32_t SendSmsAckResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 386 int32_t CommonErrorResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; GetSerialId()387 int32_t GetSerialId() 388 { 389 currentSerialId_ = rand() % RAND_MAX; 390 return currentSerialId_; 391 } IsReady(int32_t slotId)392 bool IsReady(int32_t slotId) 393 { 394 return simState_[slotId] != 0; 395 } GetCurrentChannelId()396 int32_t GetCurrentChannelId() 397 { 398 return currentChannelId_; 399 } GetSmscAddr()400 std::string GetSmscAddr() 401 { 402 return smscAddr_; 403 } 404 private: 405 std::map<int32_t, int32_t> simState_; 406 std::mutex callbackMutex_; 407 std::condition_variable cv_; 408 int32_t currentChannelId_ = 1; 409 std::string smscAddr_ = "00"; 410 HdiId hdiId_; 411 HDI::Ril::V1_1::RilRadioResponseInfo resultInfo_; 412 int32_t currentSerialId_ = 0; 413 }; 414 } // namespace Telephony 415 } // namespace OHOS 416 #endif // OHOS_RIL_CALLBACK_TEST_H 417