• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021-2022 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 IMPL_CORE_MANAGER_INNER_H
17 #define IMPL_CORE_MANAGER_INNER_H
18 
19 #include <thread>
20 #include <unistd.h>
21 
22 #include "i_network_search.h"
23 #include "i_sim_manager.h"
24 #include "i_tel_ril_manager.h"
25 #include "sim_account_callback.h"
26 #include "telephony_errors.h"
27 #include "telephony_types.h"
28 
29 namespace OHOS {
30 namespace Telephony {
31 class CoreManagerInner final {
32 public:
33     ~CoreManagerInner() = default;
34     DISALLOW_COPY_AND_MOVE(CoreManagerInner);
35     static CoreManagerInner &GetInstance();
36     void OnInit(std::shared_ptr<INetworkSearch> networkSearchManager,
37         std::shared_ptr<Telephony::ISimManager> simManager, std::shared_ptr<ITelRilManager> telRilManager);
38     void SetTelRilMangerObj(std::shared_ptr<ITelRilManager> telRilManager);
39     int32_t RegisterCoreNotify(
40         int32_t slotId, const std::shared_ptr<AppExecFwk::EventHandler> &handler, int what, int32_t *obj);
41     int32_t UnRegisterCoreNotify(
42         int32_t slotId, const std::shared_ptr<AppExecFwk::EventHandler> &observerCallBack, int what);
43     void RegisterCellularDataObject(const sptr<NetworkSearchCallBackBase> &callback);
44     void UnRegisterCellularDataObject(const sptr<NetworkSearchCallBackBase> &callback);
45     void RegisterCellularCallObject(const sptr<NetworkSearchCallBackBase> &callback);
46     void UnRegisterCellularCallObject(const sptr<NetworkSearchCallBackBase> &callback);
47     bool IsInitFinished(void);
48     bool IsInitFinishedForTelRil(void);
49     int32_t InitExtraModule(int32_t slotId);
50     int32_t GetDefaultSlotId(void);
51     int32_t GetMaxSimCount(void);
52     int32_t RegisterSimAccountCallback(const int32_t tokenId, const sptr<SimAccountCallback> &callback);
53     int32_t UnregisterSimAccountCallback(const sptr<SimAccountCallback> &callback);
54 
55     /******************** telRilManager start *******************/
56     int32_t SetRadioState(
57         int32_t slotId, int32_t eventId, int fun, int rst, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
58     int32_t GetRadioState(
59         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
60     int32_t ShutDown(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
61     int32_t Dial(int32_t slotId, int32_t eventId, std::string address, int clirMode,
62         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
63     int32_t Reject(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
64     int32_t Hangup(
65         int32_t slotId, int32_t eventId, int32_t gsmIndex, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
66     int32_t Answer(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
67     int32_t GetCallList(
68         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
69     int32_t HoldCall(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
70     int32_t UnHoldCall(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
71     int32_t SwitchCall(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
72     int32_t CombineConference(
73         int32_t slotId, int32_t eventId, int32_t callType, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
74     int32_t SeparateConference(int32_t slotId, int32_t eventId, int32_t callIndex, int32_t callType,
75         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
76     int32_t CallSupplement(
77         int32_t slotId, int32_t eventId, int32_t type, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
78     int32_t GetClip(int32_t slotId, const AppExecFwk::InnerEvent::Pointer &response) const;
79     int32_t SetClip(int32_t slotId, int32_t action, const AppExecFwk::InnerEvent::Pointer &response);
80     int32_t GetClir(int32_t slotId, const AppExecFwk::InnerEvent::Pointer &response) const;
81     int32_t SetClir(int32_t slotId, int32_t action, const AppExecFwk::InnerEvent::Pointer &response);
82     int32_t SetCallWaiting(int32_t slotId, int32_t activate, const AppExecFwk::InnerEvent::Pointer &response);
83     int32_t SetCallTransferInfo(
84         int32_t slotId, const CallTransferParam &callTransfer, const AppExecFwk::InnerEvent::Pointer &response);
85     int32_t GetCallTransferInfo(
86         int32_t slotId, const int32_t reason, const AppExecFwk::InnerEvent::Pointer &response) const;
87     int32_t GetCallWaiting(int32_t slotId, const AppExecFwk::InnerEvent::Pointer &response) const;
88     int32_t GetCallRestriction(int32_t slotId, std::string fac, const AppExecFwk::InnerEvent::Pointer &response) const;
89     int32_t SetCallRestriction(
90         int32_t slotId, const CallRestrictionParam &callRestriction, const AppExecFwk::InnerEvent::Pointer &response);
91     int32_t SetBarringPassword(int32_t slotId, const char *oldPassword,
92         const char *newPassword, const std::string &restrictionType, const AppExecFwk::InnerEvent::Pointer &response);
93     int32_t SetVoNRSwitch(
94         int32_t slotId, int32_t state, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
95     /* PDP start */
96     int32_t SetDataPermitted(int32_t slotId, int32_t eventId, int32_t dataPermitted,
97         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
98     int32_t SetInitApnInfo(int32_t slotId, int32_t eventId, const DataProfile &dataProfile,
99         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
100     int32_t ActivatePdpContext(int32_t slotId, int32_t eventId, const ActivateDataParam &activateData,
101         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
102     int32_t DeactivatePdpContext(int32_t slotId, int32_t eventId, const DeactivateDataParam &deactivateData,
103         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
104     int32_t GetPdpContextList(
105         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
106     int32_t GetLinkBandwidthInfo(
107         int32_t slotId, int32_t eventId, const int32_t cid, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
108     int32_t GetLinkCapability(
109         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
110     int32_t SetLinkBandwidthReportingRule(int32_t slotId, int32_t eventId, LinkBandwidthRule linkBandwidth,
111         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
112     int32_t CleanAllConnections(
113         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
114     /* PDP end */
115     int32_t StopDTMF(
116         int32_t slotId, int32_t eventId, int32_t index, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
117     int32_t StartDTMF(int32_t slotId, int32_t eventId, char cDTMFCode, int32_t index,
118         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
119     int32_t SendDTMF(int32_t slotId, int32_t eventId, char cDTMFCode, int32_t index,
120         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
121     int32_t SendDTMF(int32_t slotId, int32_t eventId, const DtmfParam &dtmfParam,
122         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
123 
124     int32_t GetSignalStrength(
125         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
126     int32_t GetCsRegStatus(
127         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
128     int32_t GetPsRegStatus(
129         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
130     int32_t SetCallPreferenceMode(
131         int32_t slotId, int32_t eventId, int32_t mode, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
132     int32_t GetCallPreferenceMode(
133         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
134     int32_t SetUssd(int32_t slotId, int32_t eventId, const std::string str,
135         const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
136     int32_t GetUssd(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
137     int32_t CloseUnFinishedUssd(
138         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
139     int32_t GetMute(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
140     int32_t SetMute(
141         int32_t slotId, int32_t eventId, int32_t mute, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
142     int32_t GetEmergencyCallList(
143         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
144     int32_t SetEmergencyCallList(int32_t slotId, int32_t eventId, std::vector<EmergencyCall> &eccVec,
145         const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
146     int32_t GetCallFailReason(
147         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
148     int32_t GetOperatorInfo(
149         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
150     int32_t GetNeighboringCellInfoList(
151         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
152     int32_t GetCurrentCellInfo(
153         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
154 
155     int32_t SendGsmSms(int32_t slotId, int32_t eventId, GsmSimMessageParam &gsmMessage,
156         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
157     int32_t SendCdmaSms(int32_t slotId, int32_t eventId, std::string pdu, int64_t refId,
158         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
159     int32_t AddSimMessage(int32_t slotId, int32_t eventId, const SimMessageParam &simMessage,
160         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
161     int32_t GetSmscAddr(
162         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
163     int32_t GetCdmaCBConfig(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
164     int32_t SetSmscAddr(int32_t slotId, int32_t eventId, int32_t tosca, std::string address,
165         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
166     int32_t DelSimMessage(
167         int32_t slotId, int32_t eventId, int32_t gsmIndex, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
168     int32_t SendSmsMoreMode(int32_t slotId, int32_t eventId, GsmSimMessageParam &gsmMessage,
169         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
170     int32_t SendSmsAck(int32_t slotId, int32_t eventId, bool success, int32_t cause,
171         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
172     int32_t GetCBConfig(int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
173     int32_t SetCBConfig(int32_t slotId, int32_t eventId, const CBConfigParam &cbConfig,
174         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
175     int32_t SetCdmaCBConfig(int32_t slotId, int32_t eventId, CdmaCBConfigInfoList &cdmaCBConfigInfoList,
176         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
177     int32_t GetNetworkSearchInformation(
178         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
179     int32_t GetNetworkSelectionMode(
180         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler) const;
181     int32_t SetNetworkSelectionMode(int32_t slotId, int32_t eventId, int32_t automaticFlag, std::string oper,
182         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
183     int32_t AddCdmaSimMessage(int32_t slotId, int32_t eventId, int32_t status, std::string pdu,
184         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
185     int32_t DelCdmaSimMessage(
186         int32_t slotId, int32_t eventId, int32_t cdmaIndex, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
187     int32_t UpdateCdmaSimMessage(int32_t slotId, int32_t eventId, const CdmaSimMessageParam &cdmaSimMsg,
188         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
189     int32_t SetPreferredNetworkPara(int32_t slotId, int32_t eventId, int32_t preferredNetworkType,
190         const std::shared_ptr<AppExecFwk::EventHandler> &handler);
191     int32_t GetPreferredNetworkPara(
192         int32_t slotId, int32_t eventId, const std::shared_ptr<AppExecFwk::EventHandler> &handler);
193 
194     /******************** telRilManager end *******************/
195     /******************** networkSearchManager start *******************/
196     int32_t GetPsRadioTech(int32_t slotId, int32_t &psRadioTech);
197     int32_t GetCsRadioTech(int32_t slotId, int32_t &csRadioTech);
198     int32_t GetPsRegState(int32_t slotId);
199     int32_t GetCsRegState(int32_t slotId);
200     int32_t GetPsRoamingState(int32_t slotId);
201     bool SetNetworkSelectionMode(int32_t slotId, int32_t selectMode, const sptr<NetworkInformation> &networkInformation,
202         bool resumeSelection, const sptr<INetworkSearchCallback> &callback);
203     int32_t GetSignalInfoList(int32_t slotId, std::vector<sptr<SignalInformation>> &signals);
204     std::u16string GetOperatorNumeric(int32_t slotId);
205     int32_t GetOperatorName(int32_t slotId, std::u16string &operatorName);
206     int32_t GetNetworkStatus(int32_t slotId, sptr<NetworkState> &networkState);
207     int32_t SetRadioState(int32_t slotId, bool isOn, int32_t rst, const sptr<INetworkSearchCallback> &callback);
208     int32_t GetRadioState(int32_t slotId);
209     int32_t GetRadioState(int32_t slotId, const sptr<INetworkSearchCallback> &callback);
210     int32_t GetIsoCountryCodeForNetwork(int32_t slotId, std::u16string &countryCode);
211     int32_t GetImei(int32_t slotId, std::u16string &imei);
212     int32_t GetImeiSv(int32_t slotId, std::u16string &imeiSv);
213     int32_t GetMeid(int32_t slotId, std::u16string &meid);
214     int32_t GetUniqueDeviceId(int32_t slotId, std::u16string &deviceId);
215     PhoneType GetPhoneType(int32_t slotId);
216     sptr<CellLocation> GetCellLocation(int32_t slotId);
217     int32_t GetNetworkSearchInformation(int32_t slotId, const sptr<INetworkSearchCallback> &callback);
218     int32_t GetNetworkSelectionMode(int32_t slotId, const sptr<INetworkSearchCallback> &callback);
219     int32_t GetImsRegStatus(int32_t slotId, ImsServiceType imsSrvType, ImsRegInfo &info) const;
220     int32_t GetCellInfoList(int32_t slotId, std::vector<sptr<CellInformation>> &cellInfo);
221     int32_t SendUpdateCellLocationRequest(int32_t slotId);
222     int32_t GetPreferredNetwork(int32_t slotId, const sptr<INetworkSearchCallback> &callback);
223     int32_t SetPreferredNetwork(int32_t slotId, int32_t networkMode, const sptr<INetworkSearchCallback> &callback);
224     bool SetPreferredNetwork(int32_t slotId, int32_t networkMode);
225     int32_t GetAirplaneMode(bool &airplaneMode);
226     int32_t UpdateRadioOn(int32_t slotId);
227 
228     bool IsNrSupported(int32_t slotId);
229     bool IsSatelliteEnabled();
230     int32_t SetNrOptionMode(int32_t slotId, NrMode mode);
231     int32_t GetNrOptionMode(int32_t slotId, NrMode &mode);
232     FrequencyType GetFrequencyType(int32_t slotId) const;
233     NrState GetNrState(int32_t slotId) const;
234     void DcPhysicalLinkActiveUpdate(int32_t slotId, bool isActive);
235     int32_t NotifyCallStatusToNetworkSearch(int32_t slotId, int32_t callStatus);
236     int32_t IsGsm(int32_t slotId, bool &isGsm);
237     int32_t IsCdma(int32_t slotId, bool &isCdma);
238     int32_t StartRadioOnState(int32_t slotId);
239     int32_t StartGetRilSignalIntensity(int32_t slotId);
240     int32_t ProcessSignalIntensity(int32_t slotId, const Rssi &signalIntensity);
241     int32_t UpdateOperatorName(int32_t slotId);
242     /******************** networkSearchManager end *******************/
243     /******************** simManager start ***************************/
244     int32_t ObtainSpnCondition(int32_t slotId, bool roaming, std::string operatorNum);
245     int32_t GetSimSpn(int32_t slotId, std::u16string &spn);
246     std::u16string GetSimEons(int32_t slotId, const std::string &plmn, int32_t lac, bool longNameRequired);
247     int32_t SetVoiceMailInfo(int32_t slotId, const std::u16string &mailName, const std::u16string &mailNumber);
248     int32_t HasOperatorPrivileges(const int32_t slotId, bool &hasOperatorPrivileges);
249     int32_t SendEnvelopeCmd(int32_t slotId, const std::string &cmd);
250     int32_t SendTerminalResponseCmd(int32_t slotId, const std::string &cmd);
251     int32_t SendCallSetupRequestResult(int32_t slotId, bool accept);
252     int32_t UnlockSimLock(int32_t slotId, const PersoLockInfo &lockInfo, LockStatusResponse &response);
253     int32_t HasSimCard(int32_t slotId, bool &hasSimCard);
254     int32_t GetSimState(int32_t slotId, SimState &simState);
255     int32_t GetSimIccStatus(int32_t slotId, IccSimStatus &iccStatus);
256     int32_t GetCardType(int32_t slotId, CardType &cardType);
257     int32_t SetModemInit(int32_t slotId, bool state);
258     int32_t UnlockPin(int32_t slotId, const std::string &pin, LockStatusResponse &response);
259     int32_t UnlockPuk(int32_t slotId, const std::string &newPin, const std::string &puk, LockStatusResponse &response);
260     int32_t AlterPin(
261         int32_t slotId, const std::string &newPin, const std::string &oldPin, LockStatusResponse &response);
262     int32_t SetLockState(int32_t slotId, const LockInfo &options, LockStatusResponse &response);
263     int32_t GetLockState(int32_t slotId, LockType lockType, LockState &lockState);
264     int32_t RefreshSimState(int32_t slotId);
265     int32_t UnlockPin2(int32_t slotId, const std::string &pin2, LockStatusResponse &response);
266     int32_t UnlockPuk2(
267         int32_t slotId, const std::string &newPin2, const std::string &puk2, LockStatusResponse &response);
268     int32_t AlterPin2(
269         int32_t slotId, const std::string &newPin2, const std::string &oldPin2, LockStatusResponse &response);
270     int32_t GetShowNumber(int32_t slotId, std::u16string &showNumber);
271     int32_t GetShowName(int32_t slotId, std::u16string &showName);
272     int32_t GetActiveSimAccountInfoList(std::vector<IccAccountInfo> &iccAccountInfoList);
273     int32_t GetOperatorConfigs(int32_t slotId, OperatorConfig &poc);
274     int32_t UpdateOperatorConfigs();
275     int32_t GetSimOperatorNumeric(int32_t slotId, std::u16string &operatorNumeric);
276     int32_t GetISOCountryCodeForSim(int32_t slotId, std::u16string &countryCode);
277     int32_t GetSimIccId(int32_t slotId, std::u16string &iccId);
278     int32_t GetIMSI(int32_t slotId, std::u16string &imsi);
279     std::u16string GetLocaleFromDefaultSim(int32_t slotId);
280     int32_t GetSlotId(int32_t simId);
281     int32_t GetSimId(int32_t slotId);
282     int32_t GetSimGid1(int32_t slotId, std::u16string &gid1);
283     std::u16string GetSimGid2(int32_t slotId);
284     int32_t GetOpName(int32_t slotId, std::u16string &opname);
285     int32_t GetOpKeyExt(int32_t slotId, std::u16string &opkeyExt);
286     int32_t GetOpKey(std::u16string &opkey);
287     int32_t GetOpKey(int32_t slotId, std::u16string &opkey);
288     int32_t GetSimTelephoneNumber(int32_t slotId, std::u16string &telephoneNumber);
289     std::u16string GetSimTeleNumberIdentifier(const int32_t slotId);
290     int32_t GetVoiceMailIdentifier(int32_t slotId, std::u16string &voiceMailIdentifier);
291     int32_t GetVoiceMailNumber(int32_t slotId, std::u16string &voiceMailNumber);
292     int32_t GetVoiceMailCount(int32_t slotId, int32_t &voiceMailCount);
293     int32_t SetVoiceMailCount(int32_t slotId, int32_t voiceMailCount);
294     int32_t SetVoiceCallForwarding(int32_t slotId, bool enable, const std::string &number);
295     std::u16string GetSimIst(int32_t slotId);
296     int32_t QueryIccDiallingNumbers(int slotId, int type, std::vector<std::shared_ptr<DiallingNumbersInfo>> &result);
297     int32_t AddIccDiallingNumbers(int slotId, int type, const std::shared_ptr<DiallingNumbersInfo> &diallingNumber);
298     int32_t DelIccDiallingNumbers(int slotId, int type, const std::shared_ptr<DiallingNumbersInfo> &diallingNumber);
299     int32_t UpdateIccDiallingNumbers(int slotId, int type, const std::shared_ptr<DiallingNumbersInfo> &diallingNumber);
300     int32_t AddSmsToIcc(int slotId, int status, std::string &pdu, std::string &smsc);
301     int32_t UpdateSmsIcc(int slotId, int index, int status, std::string &pduData, std::string &smsc);
302     int32_t DelSmsIcc(int slotId, int index);
303     std::vector<std::string> ObtainAllSmsOfIcc(int slotId);
304     bool IsSimActive(int32_t slotId);
305     int32_t SetActiveSim(int32_t slotId, int32_t enable);
306     int32_t SetActiveSimSatellite(int32_t slotId, int32_t enable);
307     int32_t ResetSimLoadAccount(int32_t slotId);
308     int32_t GetSimAccountInfo(int32_t slotId, IccAccountInfo &info);
309     int32_t SetDefaultVoiceSlotId(int32_t slotId);
310     int32_t SetDefaultSmsSlotId(int32_t slotId);
311     int32_t SetDefaultCellularDataSlotId(int32_t slotId);
312     int32_t SetPrimarySlotId(int32_t slotId);
313     int32_t SetShowNumber(int32_t slotId, const std::u16string &number);
314     int32_t SetShowName(int32_t slotId, const std::u16string &name);
315     int32_t GetDefaultVoiceSlotId();
316     int32_t GetDefaultVoiceSimId(int32_t &simId);
317     int32_t GetDefaultSmsSlotId();
318     int32_t GetDefaultSmsSimId(int32_t &simId);
319     int32_t GetDefaultCellularDataSlotId();
320     int32_t GetDefaultCellularDataSimId(int32_t &simId);
321     int32_t GetPrimarySlotId(int32_t &slotId);
322     int32_t SaveImsSwitch(int32_t slotId, int32_t imsSwitchValue);
323     int32_t QueryImsSwitch(int32_t slotId, int32_t &imsSwitchValue);
324     int32_t GetDsdsMode(int32_t &dsdsMode);
325     int32_t SetDsdsMode(int32_t dsdsMode);
326     int32_t SendSimMatchedOperatorInfo(
327         int32_t slotId, int32_t state, const std::string &operName, const std::string &operKey);
328     int32_t IsCTSimCard(int32_t slotId, bool &isCTSimCard);
329     bool IsSetActiveSimInProgress(int32_t slotId);
330     bool IsSetPrimarySlotIdInProgress();
331     int32_t SavePrimarySlotId(int32_t slotId);
332     bool IsDataShareError();
333     void ResetDataShareError();
334     void UpdateImsCapFromChip(int32_t slotId, const ImsCapFromChip &imsCapFromChip);
335     int32_t GetDefaultMainSlotByIccId();
336     /******************** simManager end *****************************/
337 #ifdef CORE_SERVICE_SUPPORT_ESIM
338     int32_t GetEid(int32_t slotId, std::u16string &eId);
339     int32_t GetEuiccProfileInfoList(int32_t slotId, GetEuiccProfileInfoListInnerResult &euiccProfileInfoList);
340     int32_t GetEuiccInfo(int32_t slotId, EuiccInfo &eUiccInfo);
341     int32_t DisableProfile(
342         int32_t slotId, int32_t portIndex, const std::u16string &iccId, bool refresh, int32_t &enumResult);
343     int32_t GetSmdsAddress(int32_t slotId, int32_t portIndex, std::u16string &smdsAddress);
344     int32_t GetRulesAuthTable(int32_t slotId, int32_t portIndex, EuiccRulesAuthTable &eUiccRulesAuthTable);
345     int32_t GetEuiccChallenge(int32_t slotId, int32_t portIndex, ResponseEsimInnerResult &responseResult);
346     int32_t GetDefaultSmdpAddress(int32_t slotId, std::u16string &defaultSmdpAddress);
347     int32_t CancelSession(int32_t slotId, const std::u16string &transactionId, CancelReason cancelReason,
348         ResponseEsimInnerResult &responseResult);
349     int32_t GetProfile(
350         int32_t slotId, int32_t portIndex, const std::u16string &iccId, EuiccProfile &eUiccProfile);
351     int32_t ResetMemory(int32_t slotId, ResetOption resetOption, int32_t &enumResult);
352     int32_t SetDefaultSmdpAddress(
353         int32_t slotId, const std::u16string &defaultSmdpAddress, int32_t &enumResult);
354     bool IsSupported(int32_t slotId);
355     int32_t SendApduData(int32_t slotId, const std::u16string &aid, const EsimApduData &apduData,
356         ResponseEsimInnerResult &responseResult);
357     int32_t PrepareDownload(int32_t slotId, const DownLoadConfigInfo &downLoadConfigInfo,
358         ResponseEsimInnerResult &responseResult);
359     int32_t LoadBoundProfilePackage(int32_t slotId, int32_t portIndex, const std::u16string &boundProfilePackage,
360         ResponseEsimBppResult &responseResult);
361     int32_t ListNotifications(int32_t slotId, int32_t portIndex, Event events,
362         EuiccNotificationList &notificationList);
363     int32_t RetrieveNotificationList(
364         int32_t slotId, int32_t portIndex, Event events, EuiccNotificationList &notificationList);
365     int32_t RetrieveNotification(
366         int32_t slotId, int32_t portIndex, int32_t seqNumber, EuiccNotification &notification);
367     int32_t RemoveNotificationFromList(
368         int32_t slotId, int32_t portIndex, int32_t seqNumber, int32_t &enumResult);
369     int32_t GetEuiccInfo2(int32_t slotId, int32_t portIndex, EuiccInfo2 &euiccInfo2);
370     int32_t AuthenticateServer(int32_t slotId, const AuthenticateConfigInfo &authenticateConfigInfo,
371         ResponseEsimInnerResult &responseResult);
372     int32_t DeleteProfile(int32_t slotId, const std::u16string &iccId, int32_t &enumResult);
373     int32_t SwitchToProfile(int32_t slotId, int32_t portIndex, const std::u16string &iccId,
374         bool forceDisableProfile, int32_t &enumResult);
375     int32_t SetProfileNickname(
376         int32_t slotId, const std::u16string &iccId, const std::u16string &nickname, int32_t &enumResult);
377 #endif
378 
379 private:
380     CoreManagerInner();
381 
382 private:
383     bool isInitAllObj_ = false;
384     bool isInitExtraObj_ = false;
385     std::shared_ptr<INetworkSearch> networkSearchManager_ = nullptr;
386     std::shared_ptr<ISimManager> simManager_ = nullptr;
387     std::shared_ptr<ITelRilManager> telRilManager_ = nullptr;
388 };
389 } // namespace Telephony
390 } // namespace OHOS
391 #endif
392