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