• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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