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_3/iril.h" 23 24 namespace OHOS { 25 namespace Telephony { 26 constexpr static int32_t SLOTID_1 = 0; 27 constexpr static int32_t SLOTID_2 = 1; 28 constexpr static int32_t SUCCESS = 0; 29 constexpr static int32_t WAIT_TIME_SECOND = 20; 30 constexpr static int32_t WAIT_TIME_SECOND_LONG = 40; 31 constexpr static int32_t CID = 1; 32 constexpr static int32_t REASON = 2; 33 constexpr int32_t TEST_TOSCA = 0; 34 const std::string TEST_STORAGE_PDU = "1234"; 35 const std::string TEST_SEND_PDU = "A10305810180F6000004F4F29C0E"; 36 const std::string TEST_SMSC_PDU = "00"; 37 const std::string TEST_CDMA_PDU = "pdu"; 38 const std::string TEST_ID_LIST = "0,1,320-478,922"; 39 const std::string TEST_DCS_LIST = "0-3,5"; 40 const int32_t TEST_MODE = 0; 41 const bool TEST_RESULT = true; 42 43 enum class HdiId { 44 HREQ_NONE = -1, 45 HREQ_CALL_BASE = 0, 46 HREQ_CALL_GET_CALL_LIST, 47 HREQ_CALL_DIAL, 48 HREQ_CALL_HANGUP, 49 HREQ_CALL_REJECT, 50 HREQ_CALL_ANSWER, 51 HREQ_CALL_HOLD_CALL, // call hold value 6 52 HREQ_CALL_UNHOLD_CALL, // call active value 6 53 HREQ_CALL_SWITCH_CALL, 54 HREQ_CALL_COMBINE_CONFERENCE, 55 HREQ_CALL_SEPARATE_CONFERENCE, // Keep all other calls except the xth call 56 HREQ_CALL_CALL_SUPPLEMENT, 57 HREQ_CALL_SEND_DTMF, 58 HREQ_CALL_START_DTMF, 59 HREQ_CALL_STOP_DTMF, 60 HREQ_CALL_SET_CLIP, 61 HREQ_CALL_GET_CLIP, 62 HREQ_CALL_GET_CALL_WAITING, 63 HREQ_CALL_SET_CALL_WAITING, 64 HREQ_CALL_GET_CALL_RESTRICTION, 65 HREQ_CALL_SET_CALL_RESTRICTION, 66 HREQ_CALL_GET_CALL_TRANSFER_INFO, 67 HREQ_CALL_SET_CALL_TRANSFER_INFO, 68 HREQ_CALL_GET_CLIR, 69 HREQ_CALL_SET_CLIR, 70 HREQ_CALL_GET_CALL_PREFERENCE, 71 HREQ_CALL_SET_CALL_PREFERENCE, 72 HREQ_CALL_SET_USSD, 73 HREQ_CALL_GET_USSD, 74 HREQ_CALL_SET_MUTE, 75 HREQ_CALL_GET_MUTE, 76 HREQ_CALL_GET_EMERGENCY_LIST, 77 HREQ_CALL_SET_EMERGENCY_LIST, 78 HREQ_CALL_GET_FAIL_REASON, 79 HREQ_CALL_SET_BARRING_PASSWORD, 80 HREQ_CALL_CLOSE_UNFINISHED_USSD, 81 HREQ_SET_VONR_SWITCH, 82 83 HREQ_SMS_BASE = 100, 84 HREQ_SMS_SEND_GSM_SMS, 85 HREQ_SMS_SEND_CDMA_SMS, 86 HREQ_SMS_ADD_SIM_MESSAGE, 87 HREQ_SMS_DEL_SIM_MESSAGE, 88 HREQ_SMS_UPDATE_SIM_MESSAGE, 89 HREQ_SMS_SEND_SMS_MORE_MODE, 90 HREQ_SMS_SEND_SMS_ACK, 91 HREQ_SMS_SET_SMSC_ADDR, 92 HREQ_SMS_GET_SMSC_ADDR, 93 HREQ_SMS_SET_CB_CONFIG, 94 HREQ_SMS_GET_CB_CONFIG, 95 HREQ_SMS_GET_CDMA_CB_CONFIG, 96 HREQ_SMS_SET_CDMA_CB_CONFIG, 97 HREQ_SMS_ADD_CDMA_SIM_MESSAGE, 98 HREQ_SMS_DEL_CDMA_SIM_MESSAGE, 99 HREQ_SMS_UPDATE_CDMA_SIM_MESSAGE, 100 101 HREQ_SIM_BASE = 200, 102 HREQ_SIM_GET_SIM_STATUS, 103 HREQ_SIM_GET_IMSI, 104 HREQ_SIM_GET_SIM_IO, 105 HREQ_SIM_GET_SIM_LOCK_STATUS, 106 HREQ_SIM_SET_SIM_LOCK, 107 HREQ_SIM_CHANGE_SIM_PASSWORD, 108 HREQ_SIM_UNLOCK_PIN, 109 HREQ_SIM_UNLOCK_PUK, 110 HREQ_SIM_GET_SIM_PIN_INPUT_TIMES, 111 HREQ_SIM_UNLOCK_PIN2, 112 HREQ_SIM_UNLOCK_PUK2, 113 HREQ_SIM_GET_SIM_PIN2_INPUT_TIMES, 114 HREQ_SIM_SET_ACTIVE_SIM, 115 HREQ_SIM_RADIO_PROTOCOL, 116 HREQ_SIM_STK_SEND_TERMINAL_RESPONSE, 117 HREQ_SIM_STK_SEND_ENVELOPE, 118 HREQ_SIM_STK_SEND_CALL_SETUP_REQUEST_RESULT, 119 HREQ_SIM_STK_IS_READY, 120 HREQ_SIM_OPEN_LOGICAL_CHANNEL, 121 HREQ_SIM_CLOSE_LOGICAL_CHANNEL, 122 HREQ_SIM_TRANSMIT_APDU_LOGICAL_CHANNEL, 123 HREQ_SIM_TRANSMIT_APDU_BASIC_CHANNEL, 124 HREQ_SIM_AUTHENTICATION, 125 HREQ_SIM_UNLOCK_SIM_LOCK, 126 HREQ_SIM_SEND_NCFG_OPER_INFO, 127 128 HREQ_DATA_BASE = 300, 129 HREQ_DATA_SET_INIT_APN_INFO, 130 HREQ_DATA_DEACTIVATE_PDP_CONTEXT, 131 HREQ_DATA_ACTIVATE_PDP_CONTEXT, 132 HREQ_DATA_GET_PDP_CONTEXT_LIST, 133 HREQ_DATA_GET_LINK_BANDWIDTH_INFO, 134 HREQ_DATA_SET_LINK_BANDWIDTH_REPORTING_RULE, 135 HREQ_DATA_SET_DATA_PROFILE_INFO, 136 HREQ_DATA_SET_DATA_PERMITTED, 137 HREQ_DATA_GET_LINK_CAPABILITY, 138 HREQ_DATA_CLEAN_ALL_CONNECTIONS, 139 140 HREQ_NETWORK_BASE = 400, 141 HREQ_NETWORK_GET_SIGNAL_STRENGTH, 142 HREQ_NETWORK_GET_CS_REG_STATUS, 143 HREQ_NETWORK_GET_PS_REG_STATUS, 144 HREQ_NETWORK_GET_OPERATOR_INFO, 145 HREQ_NETWORK_GET_NETWORK_SEARCH_INFORMATION, 146 HREQ_NETWORK_GET_NETWORK_SELECTION_MODE, 147 HREQ_NETWORK_SET_NETWORK_SELECTION_MODE, 148 HREQ_NETWORK_GET_NEIGHBORING_CELLINFO_LIST, 149 HREQ_NETWORK_GET_CURRENT_CELL_INFO, 150 HREQ_NETWORK_SET_PREFERRED_NETWORK, 151 HREQ_NETWORK_GET_PREFERRED_NETWORK, 152 HREQ_NETWORK_GET_RADIO_CAPABILITY, 153 HREQ_NETWORK_GET_PHYSICAL_CHANNEL_CONFIG, 154 HREQ_NETWORK_SET_LOCATE_UPDATES, 155 HREQ_NETWORK_SET_NOTIFICATION_FILTER, 156 HREQ_NETWORK_SET_DEVICE_STATE, 157 HREQ_NETWORK_SET_NR_OPTION_MODE, 158 HREQ_NETWORK_GET_NR_OPTION_MODE, 159 HREQ_NETWORK_GET_RRC_CONNECTION_STATE, 160 HREQ_NETWORK_GET_NR_SSBID_INFO, 161 162 HREQ_COMMON_BASE = 500, 163 HREQ_MODEM_SHUT_DOWN, 164 HREQ_MODEM_SET_RADIO_STATUS, 165 HREQ_MODEM_GET_RADIO_STATUS, 166 HREQ_MODEM_GET_IMEI, 167 HREQ_MODEM_GET_IMEISV, 168 HREQ_MODEM_GET_MEID, 169 HREQ_MODEM_GET_BASEBAND_VERSION, 170 HREQ_MODEM_GET_VOICE_RADIO, 171 HREQ_MODEM_EXIT = 1000 172 }; 173 174 enum class DeviceStateType { POWER_SAVE_MODE, CHARGING_STATE, LOW_DATA_STATE }; 175 176 enum class NotificationFilter { 177 NOTIFICATION_FILTER_ALL = -1, 178 NOTIFICATION_FILTER_NONE = 0, 179 NOTIFICATION_FILTER_SIGNAL_STRENGTH = 1, 180 NOTIFICATION_FILTER_NETWORK_STATE = 2, 181 NOTIFICATION_FILTER_DATA_CALL = 4, 182 NOTIFICATION_FILTER_LINK_CAPACITY = 8, 183 NOTIFICATION_FILTER_PHYSICAL_CHANNEL_CONFIG = 16 184 }; 185 186 enum class RatType { 187 NETWORK_TYPE_UNKNOWN = 0, 188 NETWORK_TYPE_GSM, 189 NETWORK_TYPE_CDMA, 190 NETWORK_TYPE_WCDMA, 191 NETWORK_TYPE_TDSCDMA, 192 NETWORK_TYPE_LTE, 193 NETWORK_TYPE_NR 194 }; 195 196 enum class SelectionMode { MODE_TYPE_UNKNOWN = -1, MODE_TYPE_AUTO = 0, MODE_TYPE_MANUAL = 1 }; 197 198 enum class PreferredNetworkMode { 199 CORE_NETWORK_MODE_AUTO = 0, 200 CORE_NETWORK_MODE_GSM = 1, 201 CORE_NETWORK_MODE_WCDMA = 2, 202 CORE_NETWORK_MODE_LTE = 3, 203 CORE_NETWORK_MODE_LTE_WCDMA = 4, 204 CORE_NETWORK_MODE_LTE_WCDMA_GSM = 5, 205 CORE_NETWORK_MODE_WCDMA_GSM = 6, 206 CORE_NETWORK_MODE_CDMA = 7, 207 CORE_NETWORK_MODE_EVDO = 8, 208 CORE_NETWORK_MODE_EVDO_CDMA = 9, 209 CORE_NETWORK_MODE_WCDMA_GSM_EVDO_CDMA = 10, 210 CORE_NETWORK_MODE_LTE_EVDO_CDMA = 11, 211 CORE_NETWORK_MODE_LTE_WCDMA_GSM_EVDO_CDMA = 12, 212 CORE_NETWORK_MODE_TDSCDMA = 13, 213 CORE_NETWORK_MODE_TDSCDMA_GSM = 14, 214 CORE_NETWORK_MODE_TDSCDMA_WCDMA = 15, 215 CORE_NETWORK_MODE_TDSCDMA_WCDMA_GSM = 16, 216 CORE_NETWORK_MODE_LTE_TDSCDMA = 17, 217 CORE_NETWORK_MODE_LTE_TDSCDMA_GSM = 18, 218 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19, 219 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM = 20, 220 CORE_NETWORK_MODE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 21, 221 CORE_NETWORK_MODE_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 22, 222 CORE_NETWORK_MODE_NR = 31, 223 CORE_NETWORK_MODE_NR_LTE = 32, 224 CORE_NETWORK_MODE_NR_LTE_WCDMA = 33, 225 CORE_NETWORK_MODE_NR_LTE_WCDMA_GSM = 34, 226 CORE_NETWORK_MODE_NR_LTE_EVDO_CDMA = 35, 227 CORE_NETWORK_MODE_NR_LTE_WCDMA_GSM_EVDO_CDMA = 36, 228 CORE_NETWORK_MODE_NR_LTE_TDSCDMA = 37, 229 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 38, 230 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 39, 231 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM = 40, 232 CORE_NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA_GSM_EVDO_CDMA = 41, 233 CORE_NETWORK_MODE_MAX_VALUE = 99, 234 }; 235 236 enum class SimMessageStatus { 237 SIM_MESSAGE_STATUS_UNREAD = 0, 238 SIM_MESSAGE_STATUS_READ = 1, 239 SIM_MESSAGE_STATUS_UNSENT = 2, 240 SIM_MESSAGE_STATUS_SENT = 3, 241 }; 242 243 class RilCallbackTest : public HDI::Ril::V1_3::IRilCallback { 244 public: 245 void NotifyAll(); 246 void WaitFor(int32_t timeoutSecond); 247 bool GetBoolResult(HdiId hdiId_); 248 void Clean(); 249 250 // Call 251 int32_t CallStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 252 int32_t CallRingbackVoiceNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 253 const HDI::Ril::V1_1::RingbackVoice &ringbackVoice) override; 254 int32_t CallSrvccStatusNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 255 const HDI::Ril::V1_1::SrvccStatus &srvccStatus) override; 256 int32_t CallUssdNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 257 const HDI::Ril::V1_1::UssdNoticeInfo &ussdNoticeInfo) override; 258 int32_t CallSsNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 259 const HDI::Ril::V1_1::SsNoticeInfo &ssNoticeInfo) override; 260 int32_t CallEmergencyNotice(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 261 const HDI::Ril::V1_1::EmergencyInfoList &emergencyInfoList) override; 262 int32_t CallRsrvccStatusNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 263 int32_t SetEmergencyCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 264 int32_t GetEmergencyCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 265 const HDI::Ril::V1_1::EmergencyInfoList &emergencyInfoList) override; 266 int32_t GetCallListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 267 const HDI::Ril::V1_1::CallInfoList &callList) override; 268 int32_t DialResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 269 int32_t HangupResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 270 int32_t RejectResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 271 int32_t AnswerResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 272 int32_t HoldCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 273 int32_t UnHoldCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 274 int32_t SwitchCallResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 275 int32_t GetClipResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 276 const HDI::Ril::V1_1::GetClipResult &getClipResult) override; 277 int32_t SetClipResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 278 int32_t CombineConferenceResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 279 int32_t SeparateConferenceResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 280 int32_t CallSupplementResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 281 int32_t GetCallWaitingResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 282 const HDI::Ril::V1_1::CallWaitResult &callWaitResult) override; 283 int32_t SetCallWaitingResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 284 int32_t GetCallTransferInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 285 const HDI::Ril::V1_1::CallForwardQueryInfoList &cFQueryList) override; 286 int32_t SetCallTransferInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 287 int32_t GetCallRestrictionResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 288 const HDI::Ril::V1_1::CallRestrictionResult &result) override; 289 int32_t SetCallRestrictionResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 290 int32_t GetClirResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 291 const HDI::Ril::V1_1::GetClirResult &getClirResult) override; 292 int32_t SetClirResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 293 int32_t StartDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 294 int32_t SendDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 295 int32_t StopDtmfResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 296 int32_t GetCallPreferenceModeResponse( 297 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 298 int32_t SetCallPreferenceModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 299 int32_t SetUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 300 int32_t GetUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t cusd) override; 301 int32_t SetMuteResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 302 int32_t GetMuteResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mute) override; 303 int32_t GetCallFailReasonResponse( 304 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t callFail) override; 305 int32_t SetBarringPasswordResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 306 int32_t CloseUnFinishedUssdResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 307 int32_t SetVonrSwitchResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 308 309 // Data 310 int32_t PdpContextListUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 311 const HDI::Ril::V1_1::DataCallResultList &dataCallResultList) override; 312 int32_t DataLinkCapabilityUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 313 const HDI::Ril::V1_1::DataLinkCapability &dataLinkCapability) override; 314 int32_t ActivatePdpContextResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 315 const HDI::Ril::V1_1::SetupDataCallResultInfo &setupDataCallResultInfo) override; 316 int32_t DeactivatePdpContextResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 317 int32_t GetPdpContextListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 318 const HDI::Ril::V1_1::DataCallResultList &dataCallResultList) override; 319 int32_t SetInitApnInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 320 int32_t SetLinkBandwidthReportingRuleResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 321 int32_t GetLinkBandwidthInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 322 const HDI::Ril::V1_1::DataLinkBandwidthInfo &dataLinkBandwidthInfo) override; 323 int32_t SetDataPermittedResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 324 int32_t SetDataProfileInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo); 325 int32_t GetLinkCapabilityResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 326 const HDI::Ril::V1_1::DataLinkCapability &dataLinkCapability) override; 327 int32_t CleanAllConnectionsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 328 // Modem 329 int32_t RadioStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 330 int32_t VoiceRadioTechUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 331 const HDI::Ril::V1_1::VoiceRadioTechnology &voiceRadioTechnology) override; 332 int32_t DsdsModeUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 333 int32_t ShutDownResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 334 int32_t SetRadioStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 335 int32_t GetRadioStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 336 int32_t GetImeiResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &imei) override; 337 int32_t GetImeiSvResponse( 338 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &imeiSv) override; 339 int32_t GetMeidResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &meid) override; 340 int32_t GetVoiceRadioTechnologyResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 341 const HDI::Ril::V1_1::VoiceRadioTechnology &voiceRadioTechnology) override; 342 int32_t GetBasebandVersionResponse( 343 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &basebandVersion) override; 344 345 // Sim notice 346 int32_t SimStateUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 347 int32_t SimStkSessionEndNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 348 int32_t SimStkProactiveNotify( 349 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 350 int32_t SimStkAlphaNotify( 351 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 352 int32_t SimStkEventNotify( 353 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 354 int32_t SimStkCallSetupNotify(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 355 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)356 int32_t SimRadioProtocolUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 357 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override 358 { 359 return 0; 360 } 361 // Sim response 362 int32_t GetSimIOResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 363 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 364 int32_t GetSimStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 365 const HDI::Ril::V1_1::CardStatusInfo &result) override; 366 int32_t GetSimCardStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 367 const HDI::Ril::V1_3::SimCardStatusInfo &result) override; 368 int32_t GetImsiResponse( 369 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &response) override; 370 int32_t GetSimLockStatusResponse( 371 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t simLockStatus) override; 372 int32_t SetSimLockResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 373 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 374 int32_t ChangeSimPasswordResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 375 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 376 int32_t UnlockPinResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 377 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 378 int32_t UnlockPukResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 379 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 380 int32_t UnlockPin2Response(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 381 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 382 int32_t UnlockPuk2Response(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 383 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 384 int32_t SetActiveSimResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 385 int32_t SimStkSendTerminalResponseResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 386 int32_t SimStkSendEnvelopeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 387 int32_t SimStkSendCallSetupRequestResultResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 388 int32_t SimStkIsReadyResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 389 int32_t SetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 390 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override; GetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const HDI::Ril::V1_1::RadioProtocol & radioProtocol)391 int32_t GetRadioProtocolResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 392 const HDI::Ril::V1_1::RadioProtocol &radioProtocol) override 393 { 394 return 0; 395 } 396 int32_t SimOpenLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 397 const HDI::Ril::V1_1::OpenLogicalChannelResponse &pOpenLogicalChannelResponse) override; 398 int32_t SimCloseLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 399 int32_t SimTransmitApduLogicalChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 400 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 401 int32_t SimTransmitApduBasicChannelResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 402 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 403 int32_t SimAuthenticationResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 404 const HDI::Ril::V1_1::IccIoResultInfo &result) override; 405 int32_t UnlockSimLockResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 406 const HDI::Ril::V1_1::LockStatusResp &lockStatus) override; 407 int32_t SendSimMatchedOperatorInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 408 409 // Network 410 int32_t NetworkCsRegStatusUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 411 const HDI::Ril::V1_1::CsRegStatusInfo &csRegStatusInfo) override; 412 int32_t NetworkPsRegStatusUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 413 const HDI::Ril::V1_1::PsRegStatusInfo &psRegStatusInfo) override; 414 int32_t SignalStrengthUpdated( 415 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const HDI::Ril::V1_1::Rssi &rssi) override; 416 int32_t NetworkTimeZoneUpdated( 417 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &timeZoneStr) override; 418 int32_t NetworkTimeUpdated( 419 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &timeStr) override; 420 int32_t NetworkPhyChnlCfgUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 421 const HDI::Ril::V1_1::ChannelConfigInfoList &channelConfigInfoList) override; 422 int32_t NetworkCurrentCellUpdated(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 423 const HDI::Ril::V1_1::CellListCurrentInfo &cellListCurrentInfo) override; 424 int32_t NetworkCurrentCellUpdated_1_1(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 425 const HDI::Ril::V1_1::CellListCurrentInfo_1_1 &cellListCurrentInfo) override; 426 int32_t NetworkCurrentCellUpdated_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 427 const HDI::Ril::V1_2::CellListCurrentInfo_1_2 &cellListCurrentInfo) override; 428 int32_t ResidentNetworkUpdated( 429 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const std::string &plmn) override; 430 int32_t GetSignalStrengthResponse( 431 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const HDI::Ril::V1_1::Rssi &rssi) override; 432 int32_t GetCsRegStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 433 const HDI::Ril::V1_1::CsRegStatusInfo &csRegStatusInfo) override; 434 int32_t GetPsRegStatusResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 435 const HDI::Ril::V1_1::PsRegStatusInfo &psRegStatusInfo) override; 436 int32_t GetOperatorInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 437 const HDI::Ril::V1_1::OperatorInfo &operatorInfo) override; 438 int32_t GetNetworkSearchInformationResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 439 const HDI::Ril::V1_1::AvailableNetworkList &availableNetworkList) override; 440 int32_t GetNetworkSelectionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 441 const HDI::Ril::V1_1::SetNetworkModeInfo &setNetworkModeInfo) override; 442 int32_t SetNetworkSelectionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 443 int32_t GetNeighboringCellInfoListResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 444 const HDI::Ril::V1_1::CellListNearbyInfo &cellInfoList) override; 445 int32_t GetNeighboringCellInfoListResponse_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 446 const HDI::Ril::V1_2::CellListNearbyInfo_1_2 &cellInfoList) override; 447 int32_t GetCurrentCellInfoResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 448 const HDI::Ril::V1_1::CellListCurrentInfo &cellInfoList) override; 449 int32_t GetCurrentCellInfoResponse_1_1(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 450 const HDI::Ril::V1_1::CellListCurrentInfo_1_1 &cellListCurrentInfo) override; 451 int32_t GetCurrentCellInfoResponse_1_2(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 452 const HDI::Ril::V1_2::CellListCurrentInfo_1_2 &cellListCurrentInfo) override; 453 int32_t SetPreferredNetworkResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 454 int32_t GetPreferredNetworkResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 455 const HDI::Ril::V1_1::PreferredNetworkTypeInfo &preferredNetworkTypeInfo) override; 456 int32_t GetPhysicalChannelConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 457 const HDI::Ril::V1_1::ChannelConfigInfoList &channelConfigInfoList) override; 458 int32_t SetLocateUpdatesResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 459 int32_t SetNotificationFilterResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 460 int32_t SetDeviceStateResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 461 int32_t SetNrOptionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 462 int32_t GetNrOptionModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t mode) override; 463 int32_t GetRrcConnectionStateResponse( 464 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t rrcConnectionState) override; 465 int32_t GetRrcConnectionStateUpdated( 466 const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, int32_t state) override; 467 int32_t GetNrSsbIdResponse(const HDI::Ril::V1_2::RilRadioResponseInfo &responseInfo, 468 const HDI::Ril::V1_2::NrCellSsbIds &nrCellSsbIds) override; 469 470 // Sms 471 int32_t NewSmsNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 472 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 473 int32_t NewCdmaSmsNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 474 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 475 int32_t SmsStatusReportNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 476 const HDI::Ril::V1_1::SmsMessageInfo &smsMessageInfo) override; 477 int32_t NewSmsStoredOnSimNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 478 int32_t recordNumber, int32_t indicationType) override; 479 int32_t CBConfigNotify(const HDI::Ril::V1_1::HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 480 const HDI::Ril::V1_1::CBConfigReportInfo &cellBroadConfigReportInfo) override; 481 int32_t SendGsmSmsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 482 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 483 int32_t SendCdmaSmsResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 484 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 485 int32_t AddSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 486 int32_t DelSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 487 int32_t UpdateSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 488 int32_t AddCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 489 int32_t DelCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 490 int32_t UpdateCdmaSimMessageResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 491 int32_t SetSmscAddrResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 492 int32_t GetSmscAddrResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 493 const HDI::Ril::V1_1::ServiceCenterAddress &serviceCenterAddress) override; 494 int32_t SetCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 495 int32_t GetCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 496 const HDI::Ril::V1_1::CBConfigInfo &cellBroadcastInfo) override; 497 int32_t SetCdmaCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 498 int32_t GetCdmaCBConfigResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 499 const HDI::Ril::V1_1::CdmaCBConfigInfo &cdmaCBConfigInfo) override; 500 int32_t SendSmsMoreModeResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, 501 const HDI::Ril::V1_1::SendSmsResultInfo &sendSmsResultInfo) override; 502 int32_t SendSmsAckResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; 503 504 int32_t CommonErrorResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override; GetSerialId()505 int32_t GetSerialId() 506 { 507 currentSerialId_ = rand() % RAND_MAX; 508 return currentSerialId_; 509 } IsReady(int32_t slotId)510 bool IsReady(int32_t slotId) 511 { 512 return simState_[slotId] != 0; 513 } GetCurrentChannelId()514 int32_t GetCurrentChannelId() 515 { 516 return currentChannelId_; 517 } 518 GetSmscAddr()519 std::string GetSmscAddr() 520 { 521 return smscAddr_; 522 } 523 524 private: 525 std::map<int32_t, int32_t> simState_; 526 std::mutex callbackMutex_; 527 std::condition_variable cv_; 528 int32_t currentChannelId_ = 1; 529 std::string smscAddr_ = "00"; 530 HdiId hdiId_; 531 HDI::Ril::V1_1::RilRadioResponseInfo resultInfo_; 532 int32_t currentSerialId_ = 0; 533 }; 534 } // namespace Telephony 535 } // namespace OHOS 536 #endif // OHOS_RIL_CALLBACK_TEST_H 537