1 /*
2 * Copyright (C) 2021 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 #include "hril_data.h"
17
18 #include "hril_notification.h"
19 #include "hril_request.h"
20
21 namespace OHOS {
22 namespace Telephony {
23 namespace {
24 const int32_t HRILOPS_ACTIVE_VERSION = 13;
25 }
26
HRilData(int32_t slotId)27 HRilData::HRilData(int32_t slotId) : HRilBase(slotId)
28 {
29 AddHandlerToMap();
30 AddHandlerToMapForSlice();
31 }
32
~HRilData()33 HRilData::~HRilData()
34 {
35 dataFuncs_ = nullptr;
36 }
37
IsDataResponse(uint32_t code)38 bool HRilData::IsDataResponse(uint32_t code)
39 {
40 return ((code >= HREQ_DATA_BASE) && (code < HREQ_NETWORK_BASE));
41 }
42
IsDataNotification(uint32_t code)43 bool HRilData::IsDataNotification(uint32_t code)
44 {
45 return ((code >= HNOTI_DATA_BASE) && (code < HNOTI_NETWORK_BASE));
46 }
47
IsDataRespOrNotify(uint32_t code)48 bool HRilData::IsDataRespOrNotify(uint32_t code)
49 {
50 return IsDataResponse(code) || IsDataNotification(code);
51 }
52
AddHandlerToMap()53 void HRilData::AddHandlerToMap()
54 {
55 // Notification
56 notiMemberFuncMap_[HNOTI_DATA_PDP_CONTEXT_LIST_UPDATED] =
57 [this](int32_t notifyType, HRilErrNumber error, const void *response,
58 size_t responseLen) { return PdpContextListUpdated(notifyType, error, response, responseLen); };
59 notiMemberFuncMap_[HNOTI_DATA_LINK_CAPABILITY_UPDATED] =
60 [this](int32_t notifyType, HRilErrNumber error, const void *response,
61 size_t responseLen) { return DataLinkCapabilityUpdated(notifyType, error, response, responseLen); };
62
63 // response
64 respMemberFuncMap_[HREQ_DATA_SET_INIT_APN_INFO] =
65 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
66 size_t responseLen) { return SetInitApnInfoResponse(requestNum, responseInfo, response, responseLen); };
67 respMemberFuncMap_[HREQ_DATA_SET_DATA_PROFILE_INFO] =
68 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
69 size_t responseLen) { return SetDataProfileInfoResponse(requestNum, responseInfo, response, responseLen); };
70 respMemberFuncMap_[HREQ_DATA_ACTIVATE_PDP_CONTEXT] =
71 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
72 size_t responseLen) { return ActivatePdpContextResponse(requestNum, responseInfo, response, responseLen); };
73 respMemberFuncMap_[HREQ_DATA_DEACTIVATE_PDP_CONTEXT] =
74 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
75 size_t responseLen) { return DeactivatePdpContextResponse(requestNum, responseInfo, response, responseLen); };
76 respMemberFuncMap_[HREQ_DATA_GET_PDP_CONTEXT_LIST] =
77 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
78 size_t responseLen) { return GetPdpContextListResponse(requestNum, responseInfo, response, responseLen); };
79 respMemberFuncMap_[HREQ_DATA_GET_LINK_BANDWIDTH_INFO] =
80 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
81 size_t responseLen) { return GetLinkBandwidthInfoResponse(requestNum, responseInfo, response, responseLen); };
82 respMemberFuncMap_[HREQ_DATA_SET_LINK_BANDWIDTH_REPORTING_RULE] = [this](int32_t requestNum,
83 HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen) {
84 return SetLinkBandwidthReportingRuleResponse(requestNum, responseInfo, response, responseLen);
85 };
86 respMemberFuncMap_[HREQ_DATA_SET_DATA_PERMITTED] =
87 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
88 size_t responseLen) { return SetDataPermittedResponse(requestNum, responseInfo, response, responseLen); };
89 respMemberFuncMap_[HREQ_DATA_GET_LINK_CAPABILITY] =
90 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
91 size_t responseLen) { return GetLinkCapabilityResponse(requestNum, responseInfo, response, responseLen); };
92 respMemberFuncMap_[HREQ_DATA_CLEAN_ALL_CONNECTIONS] =
93 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
94 size_t responseLen) { return CleanAllConnectionsResponse(requestNum, responseInfo, response, responseLen); };
95 }
96
AddHandlerToMapForSlice()97 void HRilData::AddHandlerToMapForSlice()
98 {
99 notiMemberFuncMap_[HNOTI_DATA_NETWORKSLICE_URSP_RPT] =
100 [this](int32_t notifyType, HRilErrNumber error, const void *response,
101 size_t responseLen) { return NetworkSliceUrspRpt(notifyType, error, response, responseLen); };
102 notiMemberFuncMap_[HNOTI_DATA_NETWORKSLICE_ALLOWED_NSSAI_RPT] =
103 [this](int32_t notifyType, HRilErrNumber error, const void *response,
104 size_t responseLen) { return NetworkSliceAllowedNssaiRpt(notifyType, error, response, responseLen); };
105 notiMemberFuncMap_[HNOTI_DATA_NETWORKSLICE_EHPLMN_RPT] =
106 [this](int32_t notifyType, HRilErrNumber error, const void *response,
107 size_t responseLen) { return NetworkSliceEhplmnRpt(notifyType, error, response, responseLen); };
108 respMemberFuncMap_[HREQ_DATA_SEND_UEPOLICY_DECODE_RESULT] =
109 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
110 size_t responseLen) {
111 return SendUrspDecodeResultResponse(requestNum, responseInfo, response, responseLen);
112 };
113 respMemberFuncMap_[HREQ_DATA_SEND_UE_SECTION_IDENTIFIER] =
114 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
115 size_t responseLen) {
116 return SendUePolicySectionIdentifierResponse(requestNum, responseInfo, response, responseLen);
117 };
118 respMemberFuncMap_[HREQ_DATA_SEND_IMS_RSD_LIST] =
119 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
120 size_t responseLen) { return SendImsRsdListResponse(requestNum, responseInfo, response, responseLen); };
121 respMemberFuncMap_[HREQ_DATA_SYNC_ALLOWED_NSSAI_WITH_MODEM] =
122 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
123 size_t responseLen) {
124 return GetNetworkSliceAllowedNssaiResponse(requestNum, responseInfo, response, responseLen);
125 };
126 respMemberFuncMap_[HREQ_DATA_SYNC_EHPLMN_WITH_MODEM] =
127 [this](int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response,
128 size_t responseLen) { return GetNetworkSliceEhplmnResponse(requestNum, responseInfo, response, responseLen); };
129 }
130
SwitchRilDataToHal(const HRilDataCallResponse * response,HDI::Ril::V1_1::SetupDataCallResultInfo & result)131 void HRilData::SwitchRilDataToHal(const HRilDataCallResponse *response, HDI::Ril::V1_1::SetupDataCallResultInfo &result)
132 {
133 if (response == nullptr) {
134 TELEPHONY_LOGE("SwitchRilDataToHal response is null!!!");
135 return;
136 }
137 result.active = response->active;
138 result.reason = response->reason;
139 result.retryTime = response->retryTime;
140 result.cid = response->cid;
141 result.pduSessionId = response->pduSessionId;
142 result.maxTransferUnit = response->maxTransferUnit;
143 result.address = (response->address == nullptr) ? "" : response->address;
144 result.type = (response->type == nullptr) ? "" : response->type;
145 result.dns = (response->dns == nullptr) ? "" : response->dns;
146 result.dnsSec = (response->dnsSec == nullptr) ? "" : response->dnsSec;
147 result.netPortName = (response->netPortName == nullptr) ? "" : response->netPortName;
148 result.gateway = (response->gateway == nullptr) ? "" : response->gateway;
149 result.pCscfPrimAddr = (response->pCscfPrimAddr == nullptr) ? "" : response->pCscfPrimAddr;
150 result.pCscfSecAddr = (response->pCscfSecAddr == nullptr) ? "" : response->pCscfSecAddr;
151 }
152
SwitchHRilDataListToHal(const void * response,size_t responseLen,std::vector<HDI::Ril::V1_1::SetupDataCallResultInfo> & dcResultList)153 void HRilData::SwitchHRilDataListToHal(
154 const void *response, size_t responseLen, std::vector<HDI::Ril::V1_1::SetupDataCallResultInfo> &dcResultList)
155 {
156 if (response == nullptr) {
157 TELEPHONY_LOGE("SwitchHRilDataListToHal response is null!!!");
158 return;
159 }
160 size_t dataNum = responseLen / sizeof(HRilDataCallResponse);
161 const HRilDataCallResponse *dataCallResponse = (const HRilDataCallResponse *)response;
162 dcResultList.resize(dataNum);
163
164 size_t i = 0;
165 while (i < dataNum) {
166 SwitchRilDataToHal(&dataCallResponse[i], dcResultList[i]);
167 i++;
168 }
169 }
170
DeactivatePdpContext(int32_t serialId,const OHOS::HDI::Ril::V1_1::UniInfo & uniInfo)171 int32_t HRilData::DeactivatePdpContext(int32_t serialId, const OHOS::HDI::Ril::V1_1::UniInfo &uniInfo)
172 {
173 HRilDataInfo dataInfo = {};
174 dataInfo.cid = uniInfo.gsmIndex;
175 dataInfo.reason = uniInfo.arg1;
176 return RequestVendor(
177 serialId, HREQ_DATA_DEACTIVATE_PDP_CONTEXT, dataFuncs_, &HRilDataReq::DeactivatePdpContext, &dataInfo);
178 }
179
ActivatePdpContext(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataCallInfo & dataCallInfo)180 int32_t HRilData::ActivatePdpContext(int32_t serialId, const OHOS::HDI::Ril::V1_1::DataCallInfo &dataCallInfo)
181 {
182 HRilDataInfo dataInfo;
183 dataInfo.apn = StringToCString(dataCallInfo.dataProfileInfo.apn);
184 dataInfo.type = StringToCString(dataCallInfo.dataProfileInfo.protocol);
185 dataInfo.roamingType = StringToCString(dataCallInfo.dataProfileInfo.roamingProtocol);
186 dataInfo.userName = StringToCString(dataCallInfo.dataProfileInfo.userName);
187 dataInfo.password = StringToCString(dataCallInfo.dataProfileInfo.password);
188 dataInfo.verType = dataCallInfo.dataProfileInfo.authenticationType;
189 dataInfo.rat = dataCallInfo.radioTechnology;
190 dataInfo.roamingEnable = dataCallInfo.roamingAllowed ? 1 : 0;
191 return RequestVendor(
192 serialId, HREQ_DATA_ACTIVATE_PDP_CONTEXT, dataFuncs_, &HRilDataReq::ActivatePdpContext, &dataInfo);
193 }
194
ActivatePdpContextWithApnTypes(int32_t serialId,const OHOS::HDI::Ril::V1_3::DataCallInfoWithApnTypes & dataCallInfoWithApnTypes,const int32_t version)195 int32_t HRilData::ActivatePdpContextWithApnTypes(int32_t serialId,
196 const OHOS::HDI::Ril::V1_3::DataCallInfoWithApnTypes &dataCallInfoWithApnTypes, const int32_t version)
197 {
198 if (version < HRILOPS_ACTIVE_VERSION) {
199 TELEPHONY_LOGI("Call V1_1 ActivatePdpContext");
200 OHOS::HDI::Ril::V1_1::DataCallInfo dataCallInfo;
201 dataCallInfo.dataProfileInfo.apn = dataCallInfoWithApnTypes.dataProfileInfo.apn;
202 dataCallInfo.dataProfileInfo.protocol = dataCallInfoWithApnTypes.dataProfileInfo.protocol;
203 dataCallInfo.dataProfileInfo.roamingProtocol = dataCallInfoWithApnTypes.dataProfileInfo.roamingProtocol;
204 dataCallInfo.dataProfileInfo.userName = dataCallInfoWithApnTypes.dataProfileInfo.userName;
205 dataCallInfo.dataProfileInfo.password = dataCallInfoWithApnTypes.dataProfileInfo.password;
206 dataCallInfo.dataProfileInfo.authenticationType = dataCallInfoWithApnTypes.dataProfileInfo.authenticationType;
207 dataCallInfo.isRoaming = dataCallInfoWithApnTypes.isRoaming;
208 dataCallInfo.roamingAllowed = dataCallInfoWithApnTypes.roamingAllowed;
209 dataCallInfo.radioTechnology = dataCallInfoWithApnTypes.radioTechnology;
210 return ActivatePdpContext(serialId, dataCallInfo);
211 }
212 TELEPHONY_LOGI("Call V1_3 ActivatePdpContextWithApnTypes");
213 HRilDataInfoWithApnTypes dataInfoWithApnTypes;
214 dataInfoWithApnTypes.apn = StringToCString(dataCallInfoWithApnTypes.dataProfileInfo.apn);
215 dataInfoWithApnTypes.type = StringToCString(dataCallInfoWithApnTypes.dataProfileInfo.protocol);
216 dataInfoWithApnTypes.roamingType = StringToCString(dataCallInfoWithApnTypes.dataProfileInfo.roamingProtocol);
217 dataInfoWithApnTypes.userName = StringToCString(dataCallInfoWithApnTypes.dataProfileInfo.userName);
218 dataInfoWithApnTypes.password = StringToCString(dataCallInfoWithApnTypes.dataProfileInfo.password);
219 dataInfoWithApnTypes.verType = dataCallInfoWithApnTypes.dataProfileInfo.authenticationType;
220 dataInfoWithApnTypes.rat = dataCallInfoWithApnTypes.radioTechnology;
221 dataInfoWithApnTypes.roamingEnable = dataCallInfoWithApnTypes.roamingAllowed ? 1 : 0;
222 dataInfoWithApnTypes.supportedApnTypesBitmap = dataCallInfoWithApnTypes.dataProfileInfo.supportedApnTypesBitmap;
223 return RequestVendor(serialId, HREQ_DATA_ACTIVATE_PDP_CONTEXT, dataFuncs_,
224 &HRilDataReq::ActivatePdpContextWithApnTypes, &dataInfoWithApnTypes);
225 }
226
GetPdpContextList(int32_t serialId,const OHOS::HDI::Ril::V1_1::UniInfo & uniInfo)227 int32_t HRilData::GetPdpContextList(int32_t serialId, const OHOS::HDI::Ril::V1_1::UniInfo &uniInfo)
228 {
229 TELEPHONY_LOGD("serial %{public}d on %{public}d", uniInfo.serial, uniInfo.flag);
230 return RequestVendor(serialId, HREQ_DATA_GET_PDP_CONTEXT_LIST, dataFuncs_, &HRilDataReq::GetPdpContextList);
231 }
232
SetInitApnInfo(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataProfileDataInfo & dataProfileDataInfo)233 int32_t HRilData::SetInitApnInfo(int32_t serialId, const OHOS::HDI::Ril::V1_1::DataProfileDataInfo &dataProfileDataInfo)
234 {
235 HRilDataInfo dataInfo = BuildDataInfo(dataProfileDataInfo);
236 return RequestVendor(serialId, HREQ_DATA_SET_INIT_APN_INFO, dataFuncs_, &HRilDataReq::SetInitApnInfo, &dataInfo);
237 }
238
SendDataPerformanceMode(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataPerformanceInfo & dataPerformanceInfo)239 int32_t HRilData::SendDataPerformanceMode(
240 int32_t serialId, const OHOS::HDI::Ril::V1_1::DataPerformanceInfo &dataPerformanceInfo)
241 {
242 HRilDataPerformanceInfo hrilDataPerformanceInfo;
243 hrilDataPerformanceInfo.performanceEnable = dataPerformanceInfo.performanceEnable;
244 hrilDataPerformanceInfo.enforce = dataPerformanceInfo.enforce;
245 TELEPHONY_LOGI("SendDataPerformanceMode: performanceEnable=%{public}d enforce=%{public}d",
246 hrilDataPerformanceInfo.performanceEnable, hrilDataPerformanceInfo.enforce);
247 return RequestVendor(serialId, HREQ_DATA_SEND_DATA_PERFORMANCE_MODE, dataFuncs_,
248 &HRilDataReq::SendDataPerformanceMode, &hrilDataPerformanceInfo);
249 }
250
SendDataSleepMode(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataSleepInfo & dataSleepInfo)251 int32_t HRilData::SendDataSleepMode(int32_t serialId, const OHOS::HDI::Ril::V1_1::DataSleepInfo &dataSleepInfo)
252 {
253 HRilDataSleepInfo hrilDataSleepInfo;
254 hrilDataSleepInfo.sleepEnable = dataSleepInfo.sleepEnable;
255 TELEPHONY_LOGI("SendDataSleepMode: sleepEnable=%{public}d", hrilDataSleepInfo.sleepEnable);
256 return RequestVendor(
257 serialId, HREQ_DATA_SEND_DATA_SLEEP_MODE, dataFuncs_, &HRilDataReq::SendDataSleepMode, &hrilDataSleepInfo);
258 }
259
SetDataProfileInfo(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataProfilesInfo & dataProfilesInfo)260 int32_t HRilData::SetDataProfileInfo(int32_t serialId, const OHOS::HDI::Ril::V1_1::DataProfilesInfo &dataProfilesInfo)
261 {
262 int32_t size = dataProfilesInfo.profilesSize;
263 if (size <= 0 || size != static_cast<int32_t>(dataProfilesInfo.profiles.size())) {
264 TELEPHONY_LOGE("RilAdapter failed to do ReadFromParcel!");
265 return HRIL_ERR_INVALID_PARAMETER;
266 }
267 std::unique_ptr<HRilDataInfo[]> dataInfos = std::make_unique<HRilDataInfo[]>(size);
268 for (int32_t i = 0; i < size; i++) {
269 dataInfos[i] = BuildDataInfo(dataProfilesInfo.profiles[i]);
270 }
271 return RequestVendor(
272 serialId, HREQ_DATA_SET_DATA_PROFILE_INFO, dataFuncs_, &HRilDataReq::SetDataProfileInfo, dataInfos.get(), size);
273 }
274
BuildDataInfo(const OHOS::HDI::Ril::V1_1::DataProfileDataInfo & dataProfileInfo)275 HRilDataInfo HRilData::BuildDataInfo(const OHOS::HDI::Ril::V1_1::DataProfileDataInfo &dataProfileInfo)
276 {
277 HRilDataInfo dataInfo;
278 dataInfo.cid = dataProfileInfo.profileId;
279 dataInfo.apn = StringToCString(dataProfileInfo.apn);
280 dataInfo.type = StringToCString(dataProfileInfo.protocol);
281 dataInfo.roamingType = StringToCString(dataProfileInfo.roamingProtocol);
282 dataInfo.userName = StringToCString(dataProfileInfo.userName);
283 dataInfo.password = StringToCString(dataProfileInfo.password);
284 dataInfo.verType = dataProfileInfo.authenticationType;
285 return dataInfo;
286 }
287
GetLinkCapability(int32_t serialId)288 int32_t HRilData::GetLinkCapability(int32_t serialId)
289 {
290 return RequestVendor(serialId, HREQ_DATA_GET_LINK_CAPABILITY, dataFuncs_, &HRilDataReq::GetLinkCapability);
291 }
292
GetLinkBandwidthInfo(int32_t serialId,int32_t cid)293 int32_t HRilData::GetLinkBandwidthInfo(int32_t serialId, int32_t cid)
294 {
295 return RequestVendor(
296 serialId, HREQ_DATA_GET_LINK_BANDWIDTH_INFO, dataFuncs_, &HRilDataReq::GetLinkBandwidthInfo, cid);
297 }
298
SetLinkBandwidthReportingRule(int32_t serialId,const OHOS::HDI::Ril::V1_1::DataLinkBandwidthReportingRule & linkBandwidthRule)299 int32_t HRilData::SetLinkBandwidthReportingRule(
300 int32_t serialId, const OHOS::HDI::Ril::V1_1::DataLinkBandwidthReportingRule &linkBandwidthRule)
301 {
302 HRilLinkBandwidthReportingRule hLinkBandwidthRule;
303 hLinkBandwidthRule.rat = (RatType)linkBandwidthRule.rat;
304 hLinkBandwidthRule.delayMs = linkBandwidthRule.delayMs;
305 hLinkBandwidthRule.delayUplinkKbps = linkBandwidthRule.delayUplinkKbps;
306 hLinkBandwidthRule.delayDownlinkKbps = linkBandwidthRule.delayDownlinkKbps;
307 hLinkBandwidthRule.maximumUplinkKbpsSize = linkBandwidthRule.maximumUplinkKbpsSize;
308 hLinkBandwidthRule.maximumDownlinkKbpsSize = linkBandwidthRule.maximumDownlinkKbpsSize;
309 hLinkBandwidthRule.maximumUplinkKbps = new int32_t[linkBandwidthRule.maximumUplinkKbpsSize];
310 hLinkBandwidthRule.maximumDownlinkKbps = new int32_t[linkBandwidthRule.maximumDownlinkKbpsSize];
311 TELEPHONY_LOGI("maximumUplinkKbpsSize:%{public}d, maximumDownlinkKbpsSize:%{public}d",
312 linkBandwidthRule.maximumUplinkKbpsSize, linkBandwidthRule.maximumDownlinkKbpsSize);
313 for (int32_t i = 0; i < hLinkBandwidthRule.maximumUplinkKbpsSize; i++) {
314 hLinkBandwidthRule.maximumUplinkKbps[i] = linkBandwidthRule.maximumUplinkKbps[i];
315 }
316 for (int32_t i = 0; i < hLinkBandwidthRule.maximumDownlinkKbpsSize; i++) {
317 hLinkBandwidthRule.maximumDownlinkKbps[i] = linkBandwidthRule.maximumDownlinkKbps[i];
318 }
319 int32_t resutlt = RequestVendor(serialId, HREQ_DATA_SET_LINK_BANDWIDTH_REPORTING_RULE, dataFuncs_,
320 &HRilDataReq::SetLinkBandwidthReportingRule, &hLinkBandwidthRule);
321 delete[] hLinkBandwidthRule.maximumUplinkKbps;
322 delete[] hLinkBandwidthRule.maximumDownlinkKbps;
323 return resutlt;
324 }
325
SetDataPermitted(int32_t serialId,int32_t dataPermitted)326 int32_t HRilData::SetDataPermitted(int32_t serialId, int32_t dataPermitted)
327 {
328 return RequestVendor(
329 serialId, HREQ_DATA_SET_DATA_PERMITTED, dataFuncs_, &HRilDataReq::SetDataPermitted, dataPermitted);
330 }
331
CleanAllConnections(int32_t serialId)332 int32_t HRilData::CleanAllConnections(int32_t serialId)
333 {
334 return RequestVendor(serialId, HREQ_DATA_CLEAN_ALL_CONNECTIONS, dataFuncs_, &HRilDataReq::CleanAllConnections);
335 }
336
CleanAllConnectionsResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)337 int32_t HRilData::CleanAllConnectionsResponse(
338 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
339 {
340 return Response(responseInfo, &HDI::Ril::V1_2::IRilCallback::CleanAllConnectionsResponse);
341 }
342
DeactivatePdpContextResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)343 int32_t HRilData::DeactivatePdpContextResponse(
344 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
345 {
346 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::DeactivatePdpContextResponse);
347 }
348
ActivatePdpContextResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)349 int32_t HRilData::ActivatePdpContextResponse(
350 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
351 {
352 if ((response == nullptr && responseLen != 0) || (responseLen % sizeof(HRilDataCallResponse)) != 0) {
353 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
354 return HRIL_ERR_INVALID_PARAMETER;
355 }
356 HDI::Ril::V1_1::SetupDataCallResultInfo result = {};
357 result.reason = HRIL_ERROR_UNSPECIFIED_RSN;
358 result.cid = -1;
359 if (response != nullptr) {
360 SwitchRilDataToHal((HRilDataCallResponse *)response, result);
361 }
362 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::ActivatePdpContextResponse, result);
363 }
364
GetPdpContextListResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)365 int32_t HRilData::GetPdpContextListResponse(
366 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
367 {
368 if ((response == nullptr && responseLen != 0) || (responseLen % sizeof(HRilDataCallResponse)) != 0) {
369 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
370 return HRIL_ERR_INVALID_PARAMETER;
371 }
372 HDI::Ril::V1_1::DataCallResultList dataCallResultList = {};
373 if (response != nullptr) {
374 SwitchHRilDataListToHal(response, responseLen, dataCallResultList.dcList);
375 }
376 dataCallResultList.size = dataCallResultList.dcList.size();
377 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::GetPdpContextListResponse, dataCallResultList);
378 }
379
SetInitApnInfoResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)380 int32_t HRilData::SetInitApnInfoResponse(
381 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
382 {
383 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::SetInitApnInfoResponse);
384 }
385
SetDataProfileInfoResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)386 int32_t HRilData::SetDataProfileInfoResponse(
387 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
388 {
389 return HRIL_ERR_SUCCESS;
390 }
391
SetLinkBandwidthReportingRuleResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)392 int32_t HRilData::SetLinkBandwidthReportingRuleResponse(
393 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
394 {
395 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::SetLinkBandwidthReportingRuleResponse);
396 }
397
PdpContextListUpdated(int32_t notifyType,const HRilErrNumber error,const void * response,size_t responseLen)398 int32_t HRilData::PdpContextListUpdated(
399 int32_t notifyType, const HRilErrNumber error, const void *response, size_t responseLen)
400 {
401 if ((response == nullptr) || (responseLen % sizeof(HRilDataCallResponse)) != 0) {
402 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
403 return HRIL_ERR_INVALID_PARAMETER;
404 }
405 HDI::Ril::V1_1::DataCallResultList dataCallResultList = {};
406 SwitchHRilDataListToHal(response, responseLen, dataCallResultList.dcList);
407 dataCallResultList.size = dataCallResultList.dcList.size();
408 return Notify(notifyType, error, &HDI::Ril::V1_1::IRilCallback::PdpContextListUpdated, dataCallResultList);
409 }
410
DataLinkCapabilityUpdated(int32_t notifyType,const HRilErrNumber error,const void * response,size_t responseLen)411 int32_t HRilData::DataLinkCapabilityUpdated(
412 int32_t notifyType, const HRilErrNumber error, const void *response, size_t responseLen)
413 {
414 if ((response == nullptr) || (responseLen % sizeof(HRilDataLinkCapability)) != 0) {
415 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
416 return HRIL_ERR_INVALID_PARAMETER;
417 }
418 HDI::Ril::V1_1::DataLinkCapability dataLinkCapability = { 0 };
419 const HRilDataLinkCapability *result = static_cast<const HRilDataLinkCapability *>(response);
420 dataLinkCapability.primaryDownlinkKbps = result->primaryDownlinkKbps;
421 dataLinkCapability.primaryUplinkKbps = result->primaryUplinkKbps;
422 dataLinkCapability.secondaryDownlinkKbps = result->secondaryDownlinkKbps;
423 dataLinkCapability.secondaryUplinkKbps = result->secondaryUplinkKbps;
424 return Notify(notifyType, error, &HDI::Ril::V1_1::IRilCallback::DataLinkCapabilityUpdated, dataLinkCapability);
425 }
426
GetLinkCapabilityResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)427 int32_t HRilData::GetLinkCapabilityResponse(
428 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
429 {
430 if ((response == nullptr && responseLen != 0) || (responseLen % sizeof(HRilDataLinkCapability)) != 0) {
431 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
432 return HRIL_ERR_INVALID_PARAMETER;
433 }
434 HDI::Ril::V1_1::DataLinkCapability dataLinkCapability = { 0 };
435 if (response != nullptr) {
436 const HRilDataLinkCapability *result = static_cast<const HRilDataLinkCapability *>(response);
437 dataLinkCapability.primaryDownlinkKbps = result->primaryDownlinkKbps;
438 dataLinkCapability.primaryUplinkKbps = result->primaryUplinkKbps;
439 dataLinkCapability.secondaryDownlinkKbps = result->secondaryDownlinkKbps;
440 dataLinkCapability.secondaryUplinkKbps = result->secondaryUplinkKbps;
441 }
442 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::GetLinkCapabilityResponse, dataLinkCapability);
443 }
444
GetLinkBandwidthInfoResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)445 int32_t HRilData::GetLinkBandwidthInfoResponse(
446 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
447 {
448 if ((response == nullptr && responseLen != 0) || (responseLen % sizeof(HRilLinkBandwidthInfo)) != 0) {
449 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
450 return HRIL_ERR_INVALID_PARAMETER;
451 }
452 HDI::Ril::V1_1::DataLinkBandwidthInfo uplinkAndDownlinkBandwidthInfo = {};
453 if (response != nullptr) {
454 const HRilLinkBandwidthInfo *result = static_cast<const HRilLinkBandwidthInfo *>(response);
455 uplinkAndDownlinkBandwidthInfo.cid = result->cid;
456 uplinkAndDownlinkBandwidthInfo.qi = result->qi;
457 uplinkAndDownlinkBandwidthInfo.dlGfbr = result->dlGfbr;
458 uplinkAndDownlinkBandwidthInfo.ulGfbr = result->ulGfbr;
459 uplinkAndDownlinkBandwidthInfo.dlMfbr = result->dlMfbr;
460 uplinkAndDownlinkBandwidthInfo.ulMfbr = result->ulMfbr;
461 uplinkAndDownlinkBandwidthInfo.ulSambr = result->ulSambr;
462 uplinkAndDownlinkBandwidthInfo.dlSambr = result->dlSambr;
463 uplinkAndDownlinkBandwidthInfo.averagingWindow = result->averagingWindow;
464 }
465 return Response(
466 responseInfo, &HDI::Ril::V1_1::IRilCallback::GetLinkBandwidthInfoResponse, uplinkAndDownlinkBandwidthInfo);
467 }
468
SetDataPermittedResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)469 int32_t HRilData::SetDataPermittedResponse(
470 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
471 {
472 return Response(responseInfo, &HDI::Ril::V1_1::IRilCallback::SetDataPermittedResponse);
473 }
474
RegisterDataFuncs(const HRilDataReq * dataFuncs)475 void HRilData::RegisterDataFuncs(const HRilDataReq *dataFuncs)
476 {
477 dataFuncs_ = dataFuncs;
478 }
479
NetworkSliceUrspRpt(int32_t notifyType,const HRilErrNumber error,const void * response,size_t responseLen)480 int32_t HRilData::NetworkSliceUrspRpt(
481 int32_t notifyType, const HRilErrNumber error, const void *response, size_t responseLen)
482 {
483 if ((response == nullptr) || (responseLen == 0)) {
484 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
485 return HRIL_ERR_INVALID_PARAMETER;
486 }
487 HDI::Ril::V1_4::NetworkSliceUrspInfo networksliceUrspInfo;
488 uint8_t *temp = (uint8_t *)response;
489 for (size_t i = 0; i < responseLen; i++) {
490 networksliceUrspInfo.urspInfo.push_back(*temp);
491 temp++;
492 }
493 return Notify(notifyType, error, &HDI::Ril::V1_4::IRilCallback::NetworkSliceUrspRpt, networksliceUrspInfo);
494 }
495
NetworkSliceAllowedNssaiRpt(int32_t notifyType,const HRilErrNumber error,const void * response,size_t responseLen)496 int32_t HRilData::NetworkSliceAllowedNssaiRpt(
497 int32_t notifyType, const HRilErrNumber error, const void *response, size_t responseLen)
498 {
499 if ((response == nullptr) || (responseLen == 0)) {
500 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
501 return HRIL_ERR_INVALID_PARAMETER;
502 }
503 HDI::Ril::V1_4::NetworkSliceAllowedNssaiInfo networksliceAllowedNssaiInfo;
504 uint8_t *temp = (uint8_t *)response;
505 for (size_t i = 0; i < responseLen; i++) {
506 networksliceAllowedNssaiInfo.allowednssaiInfo.push_back(*temp);
507 temp++;
508 }
509 return Notify(notifyType, error,
510 &HDI::Ril::V1_4::IRilCallback::NetworkSliceAllowedNssaiRpt, networksliceAllowedNssaiInfo);
511 }
512
NetworkSliceEhplmnRpt(int32_t notifyType,const HRilErrNumber error,const void * response,size_t responseLen)513 int32_t HRilData::NetworkSliceEhplmnRpt(
514 int32_t notifyType, const HRilErrNumber error, const void *response, size_t responseLen)
515 {
516 if ((response == nullptr) || (responseLen == 0)) {
517 TELEPHONY_LOGE("Invalid parameter, responseLen:%{public}zu", responseLen);
518 return HRIL_ERR_INVALID_PARAMETER;
519 }
520 HDI::Ril::V1_4::NetworkSliceEhplmnInfo networkSliceEhplmnInfo;
521 uint8_t *temp = (uint8_t *)response;
522 for (size_t i = 0; i < responseLen; i++) {
523 networkSliceEhplmnInfo.ehplmnInfo.push_back(*temp);
524 temp++;
525 }
526 return Notify(notifyType, error,
527 &HDI::Ril::V1_4::IRilCallback::NetworkSliceEhplmnRpt, networkSliceEhplmnInfo);
528 }
529
SendUrspDecodeResult(int32_t serialId,const OHOS::HDI::Ril::V1_4::UePolicyDecodeResult & uePolicyDecodeResult)530 int32_t HRilData::SendUrspDecodeResult(int32_t serialId,
531 const OHOS::HDI::Ril::V1_4::UePolicyDecodeResult &uePolicyDecodeResult)
532 {
533 HRilUePolicyDecodeResult hriluePolicyDecodeResult;
534 hriluePolicyDecodeResult.uePolicyDecodeResultInfoSize =
535 static_cast<int>(uePolicyDecodeResult.uePolicyDecodeResultInfo.size());
536 hriluePolicyDecodeResult.uePolicyDecodeResultInfo =
537 new unsigned char[hriluePolicyDecodeResult.uePolicyDecodeResultInfoSize];
538 for (int32_t i = 0; i < hriluePolicyDecodeResult.uePolicyDecodeResultInfoSize; i++) {
539 hriluePolicyDecodeResult.uePolicyDecodeResultInfo[i] = uePolicyDecodeResult.uePolicyDecodeResultInfo[i];
540 }
541 int32_t result = RequestVendor(serialId, HREQ_DATA_SEND_UEPOLICY_DECODE_RESULT, dataFuncs_,
542 &HRilDataReq::SendUrspDecodeResult, &hriluePolicyDecodeResult);
543 delete[] hriluePolicyDecodeResult.uePolicyDecodeResultInfo;
544 return result;
545 }
546
SendUePolicySectionIdentifier(int32_t serialId,const OHOS::HDI::Ril::V1_4::UePolicySectionIdentifier & uePolicySectionIdentifier)547 int32_t HRilData::SendUePolicySectionIdentifier(int32_t serialId,
548 const OHOS::HDI::Ril::V1_4::UePolicySectionIdentifier &uePolicySectionIdentifier)
549 {
550 HRilUePolicySectionIdentifier hRilUePolicySectionIdentifier;
551 hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfoSize =
552 static_cast<int>(uePolicySectionIdentifier.uePolicySectionIdentifierInfo.size());
553 hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfo =
554 new unsigned char[hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfoSize];
555 for (int32_t i = 0; i < hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfoSize; i++) {
556 hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfo[i] =
557 uePolicySectionIdentifier.uePolicySectionIdentifierInfo[i];
558 }
559 int32_t result = RequestVendor(serialId, HREQ_DATA_SEND_UE_SECTION_IDENTIFIER, dataFuncs_,
560 &HRilDataReq::SendUePolicySectionIdentifier, &hRilUePolicySectionIdentifier);
561 delete[] hRilUePolicySectionIdentifier.uePolicySectionIdentifierInfo;
562 return result;
563 }
564
SendImsRsdList(int32_t serialId,const OHOS::HDI::Ril::V1_4::ImsRsdList & imsRsdList)565 int32_t HRilData::SendImsRsdList(int32_t serialId, const OHOS::HDI::Ril::V1_4::ImsRsdList &imsRsdList)
566 {
567 HRilImsRsdList hRilImsRsdList;
568 hRilImsRsdList.imsRsdListInfoSize = static_cast<int>(imsRsdList.imsRsdListInfo.size());
569 hRilImsRsdList.imsRsdListInfo = new unsigned char[hRilImsRsdList.imsRsdListInfoSize];
570 for (int32_t i = 0; i < hRilImsRsdList.imsRsdListInfoSize; i++) {
571 hRilImsRsdList.imsRsdListInfo[i] = imsRsdList.imsRsdListInfo[i];
572 }
573 int32_t result = RequestVendor(serialId, HREQ_DATA_SEND_IMS_RSD_LIST, dataFuncs_,
574 &HRilDataReq::SendImsRsdList, &hRilImsRsdList);
575 delete[] hRilImsRsdList.imsRsdListInfo;
576 return result;
577 }
578
GetNetworkSliceAllowedNssai(int32_t serialId,const OHOS::HDI::Ril::V1_4::SyncAllowedNssaiInfo & dsyncAllowedNssaiInfo)579 int32_t HRilData::GetNetworkSliceAllowedNssai(int32_t serialId,
580 const OHOS::HDI::Ril::V1_4::SyncAllowedNssaiInfo &dsyncAllowedNssaiInfo)
581 {
582 HRilSyncAllowedNssaiInfo hRilsyncAllowedNssaiInfo;
583 hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfoSize =
584 static_cast<int>(dsyncAllowedNssaiInfo.syncAllowedNssaiInfo.size());
585 hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfo =
586 new unsigned char[hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfoSize];
587 for (int32_t i = 0; i < hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfoSize; i++) {
588 hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfo[i] = dsyncAllowedNssaiInfo.syncAllowedNssaiInfo[i];
589 }
590 int32_t result = RequestVendor(serialId, HREQ_DATA_SYNC_ALLOWED_NSSAI_WITH_MODEM, dataFuncs_,
591 &HRilDataReq::GetNetworkSliceAllowedNssai, &hRilsyncAllowedNssaiInfo);
592 delete[] hRilsyncAllowedNssaiInfo.syncAllowedNssaiInfo;
593 return result;
594 }
595
GetNetworkSliceEhplmn(int32_t serialId)596 int32_t HRilData::GetNetworkSliceEhplmn(int32_t serialId)
597 {
598 int32_t result = RequestVendor(serialId, HREQ_DATA_SYNC_EHPLMN_WITH_MODEM, dataFuncs_,
599 &HRilDataReq::GetNetworkSliceEhplmn);
600 return result;
601 }
602
ActivatePdpContextWithApnTypesforSlice(int32_t serialId,const OHOS::HDI::Ril::V1_4::DataCallInfoWithApnTypesforSlice & dataCallInfoWithApnTypesforslice,const int32_t version)603 int32_t HRilData::ActivatePdpContextWithApnTypesforSlice(int32_t serialId,
604 const OHOS::HDI::Ril::V1_4::DataCallInfoWithApnTypesforSlice &dataCallInfoWithApnTypesforslice,
605 const int32_t version)
606 {
607 if (version < HRILOPS_ACTIVE_VERSION) {
608 TELEPHONY_LOGI("Call V1_1 ActivatePdpContext");
609 OHOS::HDI::Ril::V1_1::DataCallInfo dataCallInfo;
610 dataCallInfo.dataProfileInfo.apn = dataCallInfoWithApnTypesforslice.dataProfileInfo.apn;
611 dataCallInfo.dataProfileInfo.protocol = dataCallInfoWithApnTypesforslice.dataProfileInfo.protocol;
612 dataCallInfo.dataProfileInfo.roamingProtocol = dataCallInfoWithApnTypesforslice.dataProfileInfo.roamingProtocol;
613 dataCallInfo.dataProfileInfo.userName = dataCallInfoWithApnTypesforslice.dataProfileInfo.userName;
614 dataCallInfo.dataProfileInfo.password = dataCallInfoWithApnTypesforslice.dataProfileInfo.password;
615 dataCallInfo.dataProfileInfo.authenticationType =
616 dataCallInfoWithApnTypesforslice.dataProfileInfo.authenticationType;
617 dataCallInfo.isRoaming = dataCallInfoWithApnTypesforslice.isRoaming;
618 dataCallInfo.roamingAllowed = dataCallInfoWithApnTypesforslice.roamingAllowed;
619 dataCallInfo.radioTechnology = dataCallInfoWithApnTypesforslice.radioTechnology;
620 return ActivatePdpContext(serialId, dataCallInfo);
621 }
622 TELEPHONY_LOGI("Call V1_4 ActivatePdpContextWithApnTypesforSlice");
623 HRilDataInfoWithApnTypesforSlice dataInfoWithApnTypesforSlice;
624 dataInfoWithApnTypesforSlice.apn = StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.apn);
625 dataInfoWithApnTypesforSlice.type = StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.protocol);
626 dataInfoWithApnTypesforSlice.roamingType =
627 StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.roamingProtocol);
628 dataInfoWithApnTypesforSlice.userName = StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.userName);
629 dataInfoWithApnTypesforSlice.password = StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.password);
630 dataInfoWithApnTypesforSlice.verType = dataCallInfoWithApnTypesforslice.dataProfileInfo.authenticationType;
631 dataInfoWithApnTypesforSlice.rat = dataCallInfoWithApnTypesforslice.radioTechnology;
632 dataInfoWithApnTypesforSlice.roamingEnable = dataCallInfoWithApnTypesforslice.roamingAllowed ? 1 : 0;
633 dataInfoWithApnTypesforSlice.supportedApnTypesBitmap =
634 dataCallInfoWithApnTypesforslice.dataProfileInfo.supportedApnTypesBitmap;
635 std::string sscmode = std::to_string(dataCallInfoWithApnTypesforslice.dataProfileInfo.sscMode);
636 dataInfoWithApnTypesforSlice.sscmode = StringToCString(sscmode);
637 dataInfoWithApnTypesforSlice.snssai = StringToCString(dataCallInfoWithApnTypesforslice.dataProfileInfo.snssai);
638 return RequestVendor(serialId, HREQ_DATA_ACTIVATE_PDP_CONTEXT, dataFuncs_,
639 &HRilDataReq::ActivatePdpContextWithApnTypesforSlice, &dataInfoWithApnTypesforSlice);
640 }
641
SendUrspDecodeResultResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)642 int32_t HRilData::SendUrspDecodeResultResponse(
643 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
644 {
645 return HRIL_ERR_SUCCESS;
646 }
647
SendUePolicySectionIdentifierResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)648 int32_t HRilData::SendUePolicySectionIdentifierResponse(
649 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
650 {
651 return HRIL_ERR_SUCCESS;
652 }
653
SendImsRsdListResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)654 int32_t HRilData::SendImsRsdListResponse(
655 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
656 {
657 return HRIL_ERR_SUCCESS;
658 }
659
GetNetworkSliceAllowedNssaiResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)660 int32_t HRilData::GetNetworkSliceAllowedNssaiResponse(
661 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
662 {
663 return HRIL_ERR_SUCCESS;
664 }
665
GetNetworkSliceEhplmnResponse(int32_t requestNum,HDI::Ril::V1_1::RilRadioResponseInfo & responseInfo,const void * response,size_t responseLen)666 int32_t HRilData::GetNetworkSliceEhplmnResponse(
667 int32_t requestNum, HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo, const void *response, size_t responseLen)
668 {
669 return HRIL_ERR_SUCCESS;
670 }
671
672 } // namespace Telephony
673 } // namespace OHOS
674