1 /* 2 * Copyright (C) 2021-2023 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 BASE_PHONE_SERVICE_STUB_H 17 #define BASE_PHONE_SERVICE_STUB_H 18 19 #include "i_core_service.h" 20 #include "iremote_stub.h" 21 #include "core_service_ipc_interface_code.h" 22 23 namespace OHOS { 24 namespace Telephony { 25 class CoreServiceStub : public IRemoteStub<ICoreService> { 26 public: 27 CoreServiceStub(); ~CoreServiceStub()28 virtual ~CoreServiceStub() {} 29 int32_t OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; 30 31 private: 32 void AddHandlerNetWorkToMap(); 33 void AddHandlerDeviceToMap(); 34 void AddHandlerImsToMap(); 35 void AddHandlerSimToMap(); 36 void AddHandlerSimLockToMap(); 37 void AddHandlerSimToMapExt(); 38 void AddHandlerVoiceMailToMap(); 39 void AddHandlerPdpProfileToMap(); 40 void AddHandlerOpkeyVersionToMap(); 41 int32_t SetTimer(uint32_t code); 42 void CancelTimer(int32_t id); 43 44 private: 45 using CoreServiceFunc = std::function<int32_t(MessageParcel &data, MessageParcel &reply)>; 46 47 int32_t OnGetPsRadioTech(MessageParcel &data, MessageParcel &reply); 48 int32_t OnGetCsRadioTech(MessageParcel &data, MessageParcel &reply); 49 int32_t OnGetOperatorNumeric(MessageParcel &data, MessageParcel &reply); 50 int32_t OnGetResidentNetworkNumeric(MessageParcel &data, MessageParcel &reply); 51 int32_t OnGetOperatorName(MessageParcel &data, MessageParcel &reply); 52 int32_t OnGetSignalInfoList(MessageParcel &data, MessageParcel &reply); 53 int32_t OnGetNetworkState(MessageParcel &data, MessageParcel &reply); 54 int32_t OnSetRadioState(MessageParcel &data, MessageParcel &reply); 55 int32_t OnGetRadioState(MessageParcel &data, MessageParcel &reply); 56 int32_t OnSetNetworkSelectionMode(MessageParcel &data, MessageParcel &reply); 57 int32_t OnGetNetworkSearchInformation(MessageParcel &data, MessageParcel &reply); 58 int32_t OnGetNetworkSelectionMode(MessageParcel &data, MessageParcel &reply); 59 int32_t OnGetIsoCountryCodeForNetwork(MessageParcel &data, MessageParcel &reply); 60 int32_t OnGetImei(MessageParcel &data, MessageParcel &reply); 61 int32_t OnGetImeiSv(MessageParcel &data, MessageParcel &reply); 62 int32_t OnGetMeid(MessageParcel &data, MessageParcel &reply); 63 int32_t OnGetUniqueDeviceId(MessageParcel &data, MessageParcel &reply); 64 int32_t OnIsNrSupported(MessageParcel &data, MessageParcel &reply); 65 int32_t OnGetCellInfoList(MessageParcel &data, MessageParcel &reply); 66 int32_t OnGetCellLocation(MessageParcel &data, MessageParcel &reply); 67 int32_t OnSetNrOptionMode(MessageParcel &data, MessageParcel &reply); 68 int32_t OnGetNrOptionMode(MessageParcel &data, MessageParcel &reply); 69 int32_t OnHasSimCard(MessageParcel &data, MessageParcel &reply); 70 int32_t OnGetSimState(MessageParcel &data, MessageParcel &reply); 71 int32_t OnGetDsdsMode(MessageParcel &data, MessageParcel &reply); 72 int32_t OnGetCardType(MessageParcel &data, MessageParcel &reply); 73 int32_t OnGetISOCountryCodeForSim(MessageParcel &data, MessageParcel &reply); 74 int32_t OnGetSimSpn(MessageParcel &data, MessageParcel &reply); 75 int32_t OnGetSimIccId(MessageParcel &data, MessageParcel &reply); 76 int32_t OnGetSimOperatorNumeric(MessageParcel &data, MessageParcel &reply); 77 int32_t OnGetIMSI(MessageParcel &data, MessageParcel &reply); 78 int32_t OnIsCTSimCard(MessageParcel &data, MessageParcel &reply); 79 int32_t OnIsSimActive(MessageParcel &data, MessageParcel &reply); 80 int32_t OnGetSlotId(MessageParcel &data, MessageParcel &reply); 81 int32_t OnGetSimId(MessageParcel &data, MessageParcel &reply); 82 int32_t OnGetLocaleFromDefaultSim(MessageParcel &data, MessageParcel &reply); 83 int32_t OnGetSimGid1(MessageParcel &data, MessageParcel &reply); 84 int32_t OnGetSimGid2(MessageParcel &data, MessageParcel &reply); 85 int32_t OnGetSimEons(MessageParcel &data, MessageParcel &reply); 86 int32_t OnGetOpName(MessageParcel &data, MessageParcel &reply); 87 int32_t OnGetOpKey(MessageParcel &data, MessageParcel &reply); 88 int32_t OnGetOpKeyExt(MessageParcel &data, MessageParcel &reply); 89 int32_t OnGetSimSubscriptionInfo(MessageParcel &data, MessageParcel &reply); 90 int32_t OnSetDefaultVoiceSlotId(MessageParcel &data, MessageParcel &reply); 91 int32_t OnGetDefaultVoiceSlotId(MessageParcel &data, MessageParcel &reply); 92 int32_t OnGetDefaultVoiceSimId(MessageParcel &data, MessageParcel &reply); 93 int32_t OnSetPrimarySlotId(MessageParcel &data, MessageParcel &reply); 94 int32_t OnGetPrimarySlotId(MessageParcel &data, MessageParcel &reply); 95 int32_t OnSetShowNumber(MessageParcel &data, MessageParcel &reply); 96 int32_t OnGetShowNumber(MessageParcel &data, MessageParcel &reply); 97 int32_t OnSetShowName(MessageParcel &data, MessageParcel &reply); 98 int32_t OnGetShowName(MessageParcel &data, MessageParcel &reply); 99 int32_t OnGetActiveSimAccountInfoList(MessageParcel &data, MessageParcel &reply); 100 int32_t OnGetOperatorConfig(MessageParcel &data, MessageParcel &reply); 101 int32_t OnUnlockPin(MessageParcel &data, MessageParcel &reply); 102 int32_t OnUnlockPuk(MessageParcel &data, MessageParcel &reply); 103 int32_t OnAlterPin(MessageParcel &data, MessageParcel &reply); 104 int32_t OnUnlockPin2(MessageParcel &data, MessageParcel &reply); 105 int32_t OnUnlockPuk2(MessageParcel &data, MessageParcel &reply); 106 int32_t OnAlterPin2(MessageParcel &data, MessageParcel &reply); 107 int32_t OnSetLockState(MessageParcel &data, MessageParcel &reply); 108 int32_t OnGetLockState(MessageParcel &data, MessageParcel &reply); 109 int32_t OnRefreshSimState(MessageParcel &data, MessageParcel &reply); 110 int32_t OnSetActiveSim(MessageParcel &data, MessageParcel &reply); 111 int32_t OnGetPreferredNetwork(MessageParcel &data, MessageParcel &reply); 112 int32_t OnSetPreferredNetwork(MessageParcel &data, MessageParcel &reply); 113 int32_t OnGetNetworkCapability(MessageParcel &data, MessageParcel &reply); 114 int32_t OnSetNetworkCapability(MessageParcel &data, MessageParcel &reply); 115 int32_t OnGetSimPhoneNumber(MessageParcel &data, MessageParcel &reply); 116 int32_t OnGetSimTeleNumberIdentifier(MessageParcel &data, MessageParcel &reply); 117 int32_t OnGetVoiceMailInfor(MessageParcel &data, MessageParcel &reply); 118 int32_t OnGetVoiceMailNumber(MessageParcel &data, MessageParcel &reply); 119 int32_t OnGetVoiceMailCount(MessageParcel &data, MessageParcel &reply); 120 int32_t OnSetVoiceMailCount(MessageParcel &data, MessageParcel &reply); 121 int32_t OnSetVoiceCallForwarding(MessageParcel &data, MessageParcel &reply); 122 int32_t OnDiallingNumbersGet(MessageParcel &data, MessageParcel &reply); 123 int32_t OnAddIccDiallingNumbers(MessageParcel &data, MessageParcel &reply); 124 int32_t OnUpdateIccDiallingNumbers(MessageParcel &data, MessageParcel &reply); 125 int32_t OnDelIccDiallingNumbers(MessageParcel &data, MessageParcel &reply); 126 int32_t OnSetVoiceMailInfo(MessageParcel &data, MessageParcel &reply); 127 int32_t OnGetMaxSimCount(MessageParcel &data, MessageParcel &reply); 128 int32_t OnGetImsRegStatus(MessageParcel &data, MessageParcel &reply); 129 int32_t OnSendEnvelopeCmd(MessageParcel &data, MessageParcel &reply); 130 int32_t OnSendTerminalResponseCmd(MessageParcel &data, MessageParcel &reply); 131 int32_t OnSendCallSetupRequestResult(MessageParcel &data, MessageParcel &reply); 132 int32_t OnHasOperatorPrivileges(MessageParcel &data, MessageParcel &reply); 133 int32_t OnSimAuthentication(MessageParcel &data, MessageParcel &reply); 134 int32_t OnUnlockSimLock(MessageParcel &data, MessageParcel &reply); 135 int32_t OnRegisterImsRegInfoCallback(MessageParcel &data, MessageParcel &reply); 136 int32_t OnUnregisterImsRegInfoCallback(MessageParcel &data, MessageParcel &reply); 137 int32_t OnGetBasebandVersion(MessageParcel &data, MessageParcel &reply); 138 int32_t OnFactoryReset(MessageParcel &data, MessageParcel &reply); 139 int32_t OnGetNrSsbIdInfo(MessageParcel &data, MessageParcel &reply); 140 int32_t OnInitExtraModule(MessageParcel &data, MessageParcel &reply); 141 int32_t OnIsAllowedInsertApn(MessageParcel &data, MessageParcel &reply); 142 int32_t OnGetTargetOpkey(MessageParcel &data, MessageParcel &reply); 143 int32_t OnGetOpkeyVersion(MessageParcel &data, MessageParcel &reply); 144 int32_t OnGetSimIO(MessageParcel &data, MessageParcel &reply); 145 146 private: 147 std::map<uint32_t, CoreServiceFunc> memberFuncMap_; 148 std::map<uint32_t, std::string> collieCodeStringMap_ = { 149 { uint32_t(CoreServiceInterfaceCode::GET_SIGNAL_INFO_LIST), "GET_SIGNAL_INFO_LIST" }, 150 { uint32_t(CoreServiceInterfaceCode::GET_NETWORK_STATE), "GET_NETWORK_STATE" }, 151 { uint32_t(CoreServiceInterfaceCode::REG_IMS_CALLBACK), "REG_IMS_CALLBACK" }, 152 { uint32_t(CoreServiceInterfaceCode::HAS_SIM_CARD), "HAS_SIM_CARD" }, 153 { uint32_t(CoreServiceInterfaceCode::GET_MAX_SIM_COUNT), "GET_MAX_SIM_COUNT" }, 154 { uint32_t(CoreServiceInterfaceCode::GET_SIM_STATE), "GET_SIM_STATE" }, 155 { uint32_t(CoreServiceInterfaceCode::CHECK_LOCK), "CHECK_LOCK" }, 156 { uint32_t(CoreServiceInterfaceCode::UNLOCK_PIN), "UNLOCK_PIN" }, 157 { uint32_t(CoreServiceInterfaceCode::UNLOCK_PUK), "UNLOCK_PUK" }, 158 { uint32_t(CoreServiceInterfaceCode::GET_ACTIVE_ACCOUNT_INFO_LIST), "GET_ACTIVE_ACCOUNT_INFO_LIST" }, 159 }; 160 }; 161 } // namespace Telephony 162 } // namespace OHOS 163 #endif // BASE_PHONE_SERVICE_STUB_H 164