1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 #pragma once 17 18 #include "DriverContext.h" 19 #include "GuaranteedCallback.h" 20 21 #include <aidl/android/hardware/radio/data/IRadioDataResponse.h> 22 #include <aidl/android/hardware/radio/ims/IRadioImsResponse.h> 23 #include <aidl/android/hardware/radio/ims/media/IImsMediaListener.h> 24 #include <aidl/android/hardware/radio/messaging/IRadioMessagingResponse.h> 25 #include <aidl/android/hardware/radio/modem/IRadioModemResponse.h> 26 #include <aidl/android/hardware/radio/network/IRadioNetworkResponse.h> 27 #include <aidl/android/hardware/radio/sim/IRadioSimResponse.h> 28 #include <aidl/android/hardware/radio/voice/IRadioVoiceResponse.h> 29 #include <android/hardware/radio/1.6/IRadioResponse.h> 30 31 namespace android::hardware::radio::compat { 32 33 class RadioResponse : public V1_6::IRadioResponse { 34 std::shared_ptr<DriverContext> mContext; 35 36 GuaranteedCallback<::aidl::android::hardware::radio::data::IRadioDataResponse, 37 ::aidl::android::hardware::radio::data::IRadioDataResponseDefault> 38 mDataCb; 39 GuaranteedCallback<::aidl::android::hardware::radio::messaging::IRadioMessagingResponse, 40 ::aidl::android::hardware::radio::messaging::IRadioMessagingResponseDefault> 41 mMessagingCb; 42 GuaranteedCallback<::aidl::android::hardware::radio::modem::IRadioModemResponse, 43 ::aidl::android::hardware::radio::modem::IRadioModemResponseDefault> 44 mModemCb; 45 GuaranteedCallback<::aidl::android::hardware::radio::network::IRadioNetworkResponse, 46 ::aidl::android::hardware::radio::network::IRadioNetworkResponseDefault> 47 mNetworkCb; 48 GuaranteedCallback<::aidl::android::hardware::radio::sim::IRadioSimResponse, 49 ::aidl::android::hardware::radio::sim::IRadioSimResponseDefault> 50 mSimCb; 51 GuaranteedCallback<::aidl::android::hardware::radio::voice::IRadioVoiceResponse, 52 ::aidl::android::hardware::radio::voice::IRadioVoiceResponseDefault> 53 mVoiceCb; 54 GuaranteedCallback<::aidl::android::hardware::radio::ims::IRadioImsResponse, 55 ::aidl::android::hardware::radio::ims::IRadioImsResponseDefault> 56 mImsCb; 57 58 // IRadioResponse @ 1.0 59 Return<void> getIccCardStatusResponse(const V1_0::RadioResponseInfo& info, 60 const V1_0::CardStatus& cardStatus) override; 61 Return<void> supplyIccPinForAppResponse(const V1_0::RadioResponseInfo& info, 62 int32_t remainingRetries) override; 63 Return<void> supplyIccPukForAppResponse(const V1_0::RadioResponseInfo& info, 64 int32_t remainingRetries) override; 65 Return<void> supplyIccPin2ForAppResponse(const V1_0::RadioResponseInfo& info, 66 int32_t remainingRetries) override; 67 Return<void> supplyIccPuk2ForAppResponse(const V1_0::RadioResponseInfo& info, 68 int32_t remainingRetries) override; 69 Return<void> changeIccPinForAppResponse(const V1_0::RadioResponseInfo& info, 70 int32_t remainingRetries) override; 71 Return<void> changeIccPin2ForAppResponse(const V1_0::RadioResponseInfo& info, 72 int32_t remainingRetries) override; 73 Return<void> supplyNetworkDepersonalizationResponse(const V1_0::RadioResponseInfo& info, 74 int32_t remainingRetries) override; 75 Return<void> getCurrentCallsResponse(const V1_0::RadioResponseInfo& info, 76 const hidl_vec<V1_0::Call>& calls) override; 77 Return<void> dialResponse(const V1_0::RadioResponseInfo& info) override; 78 Return<void> getIMSIForAppResponse(const V1_0::RadioResponseInfo& info, 79 const hidl_string& imsi) override; 80 Return<void> hangupConnectionResponse(const V1_0::RadioResponseInfo& info) override; 81 Return<void> hangupWaitingOrBackgroundResponse(const V1_0::RadioResponseInfo& info) override; 82 Return<void> hangupForegroundResumeBackgroundResponse( 83 const V1_0::RadioResponseInfo& info) override; 84 Return<void> switchWaitingOrHoldingAndActiveResponse( 85 const V1_0::RadioResponseInfo& info) override; 86 Return<void> conferenceResponse(const V1_0::RadioResponseInfo& info) override; 87 Return<void> rejectCallResponse(const V1_0::RadioResponseInfo& info) override; 88 Return<void> getLastCallFailCauseResponse( 89 const V1_0::RadioResponseInfo& info, 90 const V1_0::LastCallFailCauseInfo& failCauseinfo) override; 91 Return<void> getSignalStrengthResponse(const V1_0::RadioResponseInfo& info, 92 const V1_0::SignalStrength& sigStrength) override; 93 Return<void> getVoiceRegistrationStateResponse( 94 const V1_0::RadioResponseInfo& info, 95 const V1_0::VoiceRegStateResult& voiceRegResponse) override; 96 Return<void> getDataRegistrationStateResponse( 97 const V1_0::RadioResponseInfo& info, 98 const V1_0::DataRegStateResult& dataRegResponse) override; 99 Return<void> getOperatorResponse(const V1_0::RadioResponseInfo& info, 100 const hidl_string& longName, const hidl_string& shortName, 101 const hidl_string& numeric) override; 102 Return<void> setRadioPowerResponse(const V1_0::RadioResponseInfo& info) override; 103 Return<void> sendDtmfResponse(const V1_0::RadioResponseInfo& info) override; 104 Return<void> sendSmsResponse(const V1_0::RadioResponseInfo& info, 105 const V1_0::SendSmsResult& sms) override; 106 Return<void> sendSMSExpectMoreResponse(const V1_0::RadioResponseInfo& info, 107 const V1_0::SendSmsResult& sms) override; 108 Return<void> setupDataCallResponse(const V1_0::RadioResponseInfo& info, 109 const V1_0::SetupDataCallResult& dcResponse) override; 110 Return<void> iccIOForAppResponse(const V1_0::RadioResponseInfo& info, 111 const V1_0::IccIoResult& iccIo) override; 112 Return<void> sendUssdResponse(const V1_0::RadioResponseInfo& info) override; 113 Return<void> cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) override; 114 Return<void> getClirResponse(const V1_0::RadioResponseInfo& info, int32_t n, 115 int32_t m) override; 116 Return<void> setClirResponse(const V1_0::RadioResponseInfo& info) override; 117 Return<void> getCallForwardStatusResponse( 118 const V1_0::RadioResponseInfo& info, 119 const hidl_vec<V1_0::CallForwardInfo>& callForwardInfos) override; 120 Return<void> setCallForwardResponse(const V1_0::RadioResponseInfo& info) override; 121 Return<void> getCallWaitingResponse(const V1_0::RadioResponseInfo& info, bool enable, 122 int32_t serviceClass) override; 123 Return<void> setCallWaitingResponse(const V1_0::RadioResponseInfo& info) override; 124 Return<void> acknowledgeLastIncomingGsmSmsResponse( 125 const V1_0::RadioResponseInfo& info) override; 126 Return<void> acceptCallResponse(const V1_0::RadioResponseInfo& info) override; 127 Return<void> deactivateDataCallResponse(const V1_0::RadioResponseInfo& info) override; 128 Return<void> getFacilityLockForAppResponse(const V1_0::RadioResponseInfo& info, 129 int32_t response) override; 130 Return<void> setFacilityLockForAppResponse(const V1_0::RadioResponseInfo& info, 131 int32_t retry) override; 132 Return<void> setBarringPasswordResponse(const V1_0::RadioResponseInfo& info) override; 133 Return<void> getNetworkSelectionModeResponse(const V1_0::RadioResponseInfo& info, 134 bool manual) override; 135 Return<void> setNetworkSelectionModeAutomaticResponse( 136 const V1_0::RadioResponseInfo& info) override; 137 Return<void> setNetworkSelectionModeManualResponse( 138 const V1_0::RadioResponseInfo& info) override; 139 Return<void> getAvailableNetworksResponse( 140 const V1_0::RadioResponseInfo& info, 141 const hidl_vec<V1_0::OperatorInfo>& networkInfos) override; 142 Return<void> startDtmfResponse(const V1_0::RadioResponseInfo& info) override; 143 Return<void> stopDtmfResponse(const V1_0::RadioResponseInfo& info) override; 144 Return<void> getBasebandVersionResponse(const V1_0::RadioResponseInfo& info, 145 const hidl_string& version) override; 146 Return<void> separateConnectionResponse(const V1_0::RadioResponseInfo& info) override; 147 Return<void> setMuteResponse(const V1_0::RadioResponseInfo& info) override; 148 Return<void> getMuteResponse(const V1_0::RadioResponseInfo& info, bool enable) override; 149 Return<void> getClipResponse(const V1_0::RadioResponseInfo& info, 150 V1_0::ClipStatus status) override; 151 Return<void> getDataCallListResponse( 152 const V1_0::RadioResponseInfo& info, 153 const hidl_vec<V1_0::SetupDataCallResult>& dcResponse) override; 154 Return<void> setSuppServiceNotificationsResponse(const V1_0::RadioResponseInfo& info) override; 155 Return<void> writeSmsToSimResponse(const V1_0::RadioResponseInfo& info, int32_t index) override; 156 Return<void> deleteSmsOnSimResponse(const V1_0::RadioResponseInfo& info) override; 157 Return<void> setBandModeResponse(const V1_0::RadioResponseInfo& info) override; 158 Return<void> getAvailableBandModesResponse( 159 const V1_0::RadioResponseInfo& info, 160 const hidl_vec<V1_0::RadioBandMode>& bandModes) override; 161 Return<void> sendEnvelopeResponse(const V1_0::RadioResponseInfo& info, 162 const hidl_string& commandResponse) override; 163 Return<void> sendTerminalResponseToSimResponse(const V1_0::RadioResponseInfo& info) override; 164 Return<void> handleStkCallSetupRequestFromSimResponse( 165 const V1_0::RadioResponseInfo& info) override; 166 Return<void> explicitCallTransferResponse(const V1_0::RadioResponseInfo& info) override; 167 Return<void> setPreferredNetworkTypeResponse(const V1_0::RadioResponseInfo& info) override; 168 Return<void> getPreferredNetworkTypeResponse(const V1_0::RadioResponseInfo& info, 169 V1_0::PreferredNetworkType nwType) override; 170 Return<void> getNeighboringCidsResponse(const V1_0::RadioResponseInfo& info, 171 const hidl_vec<V1_0::NeighboringCell>& cells) override; 172 Return<void> setLocationUpdatesResponse(const V1_0::RadioResponseInfo& info) override; 173 Return<void> setCdmaSubscriptionSourceResponse(const V1_0::RadioResponseInfo& info) override; 174 Return<void> setCdmaRoamingPreferenceResponse(const V1_0::RadioResponseInfo& info) override; 175 Return<void> getCdmaRoamingPreferenceResponse(const V1_0::RadioResponseInfo& info, 176 V1_0::CdmaRoamingType type) override; 177 Return<void> setTTYModeResponse(const V1_0::RadioResponseInfo& info) override; 178 Return<void> getTTYModeResponse(const V1_0::RadioResponseInfo& info, 179 V1_0::TtyMode mode) override; 180 Return<void> setPreferredVoicePrivacyResponse(const V1_0::RadioResponseInfo& info) override; 181 Return<void> getPreferredVoicePrivacyResponse(const V1_0::RadioResponseInfo& info, 182 bool enable) override; 183 Return<void> sendCDMAFeatureCodeResponse(const V1_0::RadioResponseInfo& info) override; 184 Return<void> sendBurstDtmfResponse(const V1_0::RadioResponseInfo& info) override; 185 Return<void> sendCdmaSmsResponse(const V1_0::RadioResponseInfo& info, 186 const V1_0::SendSmsResult& sms) override; 187 Return<void> acknowledgeLastIncomingCdmaSmsResponse( 188 const V1_0::RadioResponseInfo& info) override; 189 Return<void> getGsmBroadcastConfigResponse( 190 const V1_0::RadioResponseInfo& info, 191 const hidl_vec<V1_0::GsmBroadcastSmsConfigInfo>& configs) override; 192 Return<void> setGsmBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) override; 193 Return<void> setGsmBroadcastActivationResponse(const V1_0::RadioResponseInfo& info) override; 194 Return<void> getCdmaBroadcastConfigResponse( 195 const V1_0::RadioResponseInfo& info, 196 const hidl_vec<V1_0::CdmaBroadcastSmsConfigInfo>& configs) override; 197 Return<void> setCdmaBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) override; 198 Return<void> setCdmaBroadcastActivationResponse(const V1_0::RadioResponseInfo& info) override; 199 Return<void> getCDMASubscriptionResponse( // 200 const V1_0::RadioResponseInfo& info, const hidl_string& mdn, const hidl_string& hSid, 201 const hidl_string& hNid, const hidl_string& min, const hidl_string& prl) override; 202 Return<void> writeSmsToRuimResponse(const V1_0::RadioResponseInfo& info, 203 uint32_t index) override; 204 Return<void> deleteSmsOnRuimResponse(const V1_0::RadioResponseInfo& info) override; 205 Return<void> getDeviceIdentityResponse( // 206 const V1_0::RadioResponseInfo& info, const hidl_string& imei, const hidl_string& imeisv, 207 const hidl_string& esn, const hidl_string& meid) override; 208 Return<void> exitEmergencyCallbackModeResponse(const V1_0::RadioResponseInfo& info) override; 209 Return<void> getSmscAddressResponse(const V1_0::RadioResponseInfo& info, 210 const hidl_string& smsc) override; 211 Return<void> setSmscAddressResponse(const V1_0::RadioResponseInfo& info) override; 212 Return<void> reportSmsMemoryStatusResponse(const V1_0::RadioResponseInfo& info) override; 213 Return<void> reportStkServiceIsRunningResponse(const V1_0::RadioResponseInfo& info) override; 214 Return<void> getCdmaSubscriptionSourceResponse(const V1_0::RadioResponseInfo& info, 215 V1_0::CdmaSubscriptionSource source) override; 216 Return<void> requestIsimAuthenticationResponse(const V1_0::RadioResponseInfo& info, 217 const hidl_string& response) override; 218 Return<void> acknowledgeIncomingGsmSmsWithPduResponse( 219 const V1_0::RadioResponseInfo& info) override; 220 Return<void> sendEnvelopeWithStatusResponse(const V1_0::RadioResponseInfo& info, 221 const V1_0::IccIoResult& iccIo) override; 222 Return<void> getVoiceRadioTechnologyResponse(const V1_0::RadioResponseInfo& info, 223 V1_0::RadioTechnology rat) override; 224 Return<void> getCellInfoListResponse(const V1_0::RadioResponseInfo& info, 225 const hidl_vec<V1_0::CellInfo>& cellInfo) override; 226 Return<void> setCellInfoListRateResponse(const V1_0::RadioResponseInfo& info) override; 227 Return<void> setInitialAttachApnResponse(const V1_0::RadioResponseInfo& info) override; 228 Return<void> getImsRegistrationStateResponse(const V1_0::RadioResponseInfo& info, 229 bool isRegistered, 230 V1_0::RadioTechnologyFamily ratFamily) override; 231 Return<void> sendImsSmsResponse(const V1_0::RadioResponseInfo& info, 232 const V1_0::SendSmsResult& sms) override; 233 Return<void> iccTransmitApduBasicChannelResponse(const V1_0::RadioResponseInfo& info, 234 const V1_0::IccIoResult& result) override; 235 Return<void> iccOpenLogicalChannelResponse(const V1_0::RadioResponseInfo& info, 236 int32_t channelId, 237 const hidl_vec<int8_t>& selectResponse) override; 238 Return<void> iccCloseLogicalChannelResponse(const V1_0::RadioResponseInfo& info) override; 239 Return<void> iccTransmitApduLogicalChannelResponse(const V1_0::RadioResponseInfo& info, 240 const V1_0::IccIoResult& result) override; 241 Return<void> nvReadItemResponse(const V1_0::RadioResponseInfo& info, 242 const hidl_string& result) override; 243 Return<void> nvWriteItemResponse(const V1_0::RadioResponseInfo& info) override; 244 Return<void> nvWriteCdmaPrlResponse(const V1_0::RadioResponseInfo& info) override; 245 Return<void> nvResetConfigResponse(const V1_0::RadioResponseInfo& info) override; 246 Return<void> setUiccSubscriptionResponse(const V1_0::RadioResponseInfo& info) override; 247 Return<void> setDataAllowedResponse(const V1_0::RadioResponseInfo& info) override; 248 Return<void> getHardwareConfigResponse(const V1_0::RadioResponseInfo& info, 249 const hidl_vec<V1_0::HardwareConfig>& config) override; 250 Return<void> requestIccSimAuthenticationResponse(const V1_0::RadioResponseInfo& info, 251 const V1_0::IccIoResult& result) override; 252 Return<void> setDataProfileResponse(const V1_0::RadioResponseInfo& info) override; 253 Return<void> requestShutdownResponse(const V1_0::RadioResponseInfo& info) override; 254 Return<void> getRadioCapabilityResponse(const V1_0::RadioResponseInfo& info, 255 const V1_0::RadioCapability& rc) override; 256 Return<void> setRadioCapabilityResponse(const V1_0::RadioResponseInfo& info, 257 const V1_0::RadioCapability& rc) override; 258 Return<void> startLceServiceResponse(const V1_0::RadioResponseInfo& info, 259 const V1_0::LceStatusInfo& statusInfo) override; 260 Return<void> stopLceServiceResponse(const V1_0::RadioResponseInfo& info, 261 const V1_0::LceStatusInfo& statusInfo) override; 262 Return<void> pullLceDataResponse(const V1_0::RadioResponseInfo& info, 263 const V1_0::LceDataInfo& lceInfo) override; 264 Return<void> getModemActivityInfoResponse(const V1_0::RadioResponseInfo& info, 265 const V1_0::ActivityStatsInfo& activityInfo) override; 266 Return<void> setAllowedCarriersResponse(const V1_0::RadioResponseInfo& info, 267 int32_t numAllowed) override; 268 Return<void> getAllowedCarriersResponse(const V1_0::RadioResponseInfo& info, bool allAllowed, 269 const V1_0::CarrierRestrictions& carriers) override; 270 Return<void> sendDeviceStateResponse(const V1_0::RadioResponseInfo& info) override; 271 Return<void> setIndicationFilterResponse(const V1_0::RadioResponseInfo& info) override; 272 Return<void> setSimCardPowerResponse(const V1_0::RadioResponseInfo& info) override; 273 Return<void> acknowledgeRequest(int32_t serial) override; 274 275 // IRadioResponse @ 1.1 276 Return<void> setCarrierInfoForImsiEncryptionResponse( 277 const V1_0::RadioResponseInfo& info) override; 278 Return<void> setSimCardPowerResponse_1_1(const V1_0::RadioResponseInfo& info) override; 279 Return<void> startNetworkScanResponse(const V1_0::RadioResponseInfo& info) override; 280 Return<void> stopNetworkScanResponse(const V1_0::RadioResponseInfo& info) override; 281 Return<void> startKeepaliveResponse(const V1_0::RadioResponseInfo& info, 282 const V1_1::KeepaliveStatus& status) override; 283 Return<void> stopKeepaliveResponse(const V1_0::RadioResponseInfo& info) override; 284 285 // IRadioResponse @ 1.2 286 Return<void> getCellInfoListResponse_1_2(const V1_0::RadioResponseInfo& info, 287 const hidl_vec<V1_2::CellInfo>& cellInfo) override; 288 Return<void> getIccCardStatusResponse_1_2(const V1_0::RadioResponseInfo& info, 289 const V1_2::CardStatus& cardStatus) override; 290 Return<void> setSignalStrengthReportingCriteriaResponse( 291 const V1_0::RadioResponseInfo& info) override; 292 Return<void> setLinkCapacityReportingCriteriaResponse( 293 const V1_0::RadioResponseInfo& info) override; 294 Return<void> getCurrentCallsResponse_1_2(const V1_0::RadioResponseInfo& info, 295 const hidl_vec<V1_2::Call>& calls) override; 296 Return<void> getSignalStrengthResponse_1_2(const V1_0::RadioResponseInfo& info, 297 const V1_2::SignalStrength& signalStrength) override; 298 Return<void> getVoiceRegistrationStateResponse_1_2( 299 const V1_0::RadioResponseInfo& info, 300 const V1_2::VoiceRegStateResult& voiceRegResponse) override; 301 Return<void> getDataRegistrationStateResponse_1_2( 302 const V1_0::RadioResponseInfo& info, 303 const V1_2::DataRegStateResult& dataRegResponse) override; 304 305 // IRadioResponse @ 1.3 306 Return<void> setSystemSelectionChannelsResponse(const V1_0::RadioResponseInfo& info) override; 307 Return<void> enableModemResponse(const V1_0::RadioResponseInfo& info) override; 308 Return<void> getModemStackStatusResponse(const V1_0::RadioResponseInfo& info, 309 bool isEnabled) override; 310 311 // IRadioResponse @ 1.4 312 Return<void> emergencyDialResponse(const V1_0::RadioResponseInfo& info) override; 313 Return<void> startNetworkScanResponse_1_4(const V1_0::RadioResponseInfo& info) override; 314 Return<void> getCellInfoListResponse_1_4(const V1_0::RadioResponseInfo& info, 315 const hidl_vec<V1_4::CellInfo>& cellInfo) override; 316 Return<void> getDataRegistrationStateResponse_1_4( 317 const V1_0::RadioResponseInfo& info, 318 const V1_4::DataRegStateResult& dataRegResponse) override; 319 Return<void> getIccCardStatusResponse_1_4(const V1_0::RadioResponseInfo& info, 320 const V1_4::CardStatus& cardStatus) override; 321 Return<void> getPreferredNetworkTypeBitmapResponse( 322 const V1_0::RadioResponseInfo& info, 323 hidl_bitfield<V1_4::RadioAccessFamily> networkTypeBitmap) override; 324 Return<void> setPreferredNetworkTypeBitmapResponse( 325 const V1_0::RadioResponseInfo& info) override; 326 Return<void> getDataCallListResponse_1_4( 327 const V1_0::RadioResponseInfo& info, 328 const hidl_vec<V1_4::SetupDataCallResult>& dcResponse) override; 329 Return<void> setupDataCallResponse_1_4(const V1_0::RadioResponseInfo& info, 330 const V1_4::SetupDataCallResult& dcResponse) override; 331 Return<void> setAllowedCarriersResponse_1_4(const V1_0::RadioResponseInfo& info) override; 332 Return<void> getAllowedCarriersResponse_1_4( 333 const V1_0::RadioResponseInfo& info, 334 const V1_4::CarrierRestrictionsWithPriority& carriers, 335 V1_4::SimLockMultiSimPolicy multiSimPolicy) override; 336 Return<void> getSignalStrengthResponse_1_4(const V1_0::RadioResponseInfo& info, 337 const V1_4::SignalStrength& signalStrength) override; 338 339 // IRadioResponse @ 1.5 340 Return<void> setSignalStrengthReportingCriteriaResponse_1_5( 341 const V1_0::RadioResponseInfo& info) override; 342 Return<void> setLinkCapacityReportingCriteriaResponse_1_5( 343 const V1_0::RadioResponseInfo& info) override; 344 Return<void> enableUiccApplicationsResponse(const V1_0::RadioResponseInfo& info) override; 345 Return<void> areUiccApplicationsEnabledResponse(const V1_0::RadioResponseInfo& info, 346 bool enabled) override; 347 Return<void> setSystemSelectionChannelsResponse_1_5( 348 const V1_0::RadioResponseInfo& info) override; 349 Return<void> startNetworkScanResponse_1_5(const V1_0::RadioResponseInfo& info) override; 350 Return<void> setupDataCallResponse_1_5(const V1_0::RadioResponseInfo& info, 351 const V1_5::SetupDataCallResult& dcResponse) override; 352 Return<void> getDataCallListResponse_1_5( 353 const V1_0::RadioResponseInfo& info, 354 const hidl_vec<V1_5::SetupDataCallResult>& dcResponse) override; 355 Return<void> setInitialAttachApnResponse_1_5(const V1_0::RadioResponseInfo& info) override; 356 Return<void> setDataProfileResponse_1_5(const V1_0::RadioResponseInfo& info) override; 357 Return<void> setRadioPowerResponse_1_5(const V1_0::RadioResponseInfo& info) override; 358 Return<void> setIndicationFilterResponse_1_5(const V1_0::RadioResponseInfo& info) override; 359 Return<void> getBarringInfoResponse(const V1_0::RadioResponseInfo& info, 360 const V1_5::CellIdentity& cellIdentity, 361 const hidl_vec<V1_5::BarringInfo>& barringInfos) override; 362 Return<void> getVoiceRegistrationStateResponse_1_5( 363 const V1_0::RadioResponseInfo& info, 364 const V1_5::RegStateResult& voiceRegResponse) override; 365 Return<void> getDataRegistrationStateResponse_1_5( 366 const V1_0::RadioResponseInfo& info, 367 const V1_5::RegStateResult& dataRegResponse) override; 368 Return<void> getCellInfoListResponse_1_5(const V1_0::RadioResponseInfo& info, 369 const hidl_vec<V1_5::CellInfo>& cellInfo) override; 370 Return<void> setNetworkSelectionModeManualResponse_1_5( 371 const V1_0::RadioResponseInfo& info) override; 372 Return<void> sendCdmaSmsExpectMoreResponse(const V1_0::RadioResponseInfo& info, 373 const V1_0::SendSmsResult& sms) override; 374 Return<void> supplySimDepersonalizationResponse(const V1_0::RadioResponseInfo& info, 375 V1_5::PersoSubstate persoType, 376 int32_t remainingRetries) override; 377 Return<void> getIccCardStatusResponse_1_5(const V1_0::RadioResponseInfo& info, 378 const V1_5::CardStatus& cardStatus) override; 379 380 // IRadioResponse @ 1.6 381 Return<void> setRadioPowerResponse_1_6(const V1_6::RadioResponseInfo& info) override; 382 Return<void> setupDataCallResponse_1_6(const V1_6::RadioResponseInfo& info, 383 const V1_6::SetupDataCallResult& dcResponse) override; 384 Return<void> getDataCallListResponse_1_6( 385 const V1_6::RadioResponseInfo& info, 386 const hidl_vec<V1_6::SetupDataCallResult>& dcResponse) override; 387 Return<void> sendSmsResponse_1_6(const V1_6::RadioResponseInfo& info, 388 const V1_0::SendSmsResult& sms) override; 389 Return<void> sendSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info, 390 const V1_0::SendSmsResult& sms) override; 391 Return<void> sendCdmaSmsResponse_1_6(const V1_6::RadioResponseInfo& info, 392 const V1_0::SendSmsResult& sms) override; 393 Return<void> sendCdmaSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info, 394 const V1_0::SendSmsResult& sms) override; 395 Return<void> setSimCardPowerResponse_1_6(const V1_6::RadioResponseInfo& info) override; 396 Return<void> setNrDualConnectivityStateResponse(const V1_6::RadioResponseInfo& info) override; 397 Return<void> isNrDualConnectivityEnabledResponse(const V1_6::RadioResponseInfo& info, 398 bool isEnabled) override; 399 Return<void> allocatePduSessionIdResponse(const V1_6::RadioResponseInfo& info, 400 int32_t id) override; 401 Return<void> releasePduSessionIdResponse(const V1_6::RadioResponseInfo& info) override; 402 Return<void> startHandoverResponse(const V1_6::RadioResponseInfo& info) override; 403 Return<void> cancelHandoverResponse(const V1_6::RadioResponseInfo& info) override; 404 Return<void> setAllowedNetworkTypesBitmapResponse(const V1_6::RadioResponseInfo& info) override; 405 Return<void> getAllowedNetworkTypesBitmapResponse( 406 const V1_6::RadioResponseInfo& info, 407 hidl_bitfield<V1_4::RadioAccessFamily> networkTypeBitmap) override; 408 Return<void> setDataThrottlingResponse(const V1_6::RadioResponseInfo& info) override; 409 Return<void> getSystemSelectionChannelsResponse( 410 const V1_6::RadioResponseInfo& info, 411 const hidl_vec<V1_5::RadioAccessSpecifier>& specifiers) override; 412 Return<void> getCellInfoListResponse_1_6(const V1_6::RadioResponseInfo& info, 413 const hidl_vec<V1_6::CellInfo>& cellInfo) override; 414 Return<void> getSignalStrengthResponse_1_6(const V1_6::RadioResponseInfo& info, 415 const V1_6::SignalStrength& signalStrength) override; 416 Return<void> getVoiceRegistrationStateResponse_1_6( 417 const V1_6::RadioResponseInfo& info, 418 const V1_6::RegStateResult& voiceRegResponse) override; 419 Return<void> getDataRegistrationStateResponse_1_6( 420 const V1_6::RadioResponseInfo& info, 421 const V1_6::RegStateResult& dataRegResponse) override; 422 Return<void> getCurrentCallsResponse_1_6(const V1_6::RadioResponseInfo& info, 423 const hidl_vec<V1_6::Call>& calls) override; 424 Return<void> getSlicingConfigResponse(const V1_6::RadioResponseInfo& info, 425 const V1_6::SlicingConfig& slicingConfig) override; 426 Return<void> getSimPhonebookRecordsResponse(const V1_6::RadioResponseInfo& info) override; 427 Return<void> getSimPhonebookCapacityResponse(const V1_6::RadioResponseInfo& info, 428 const V1_6::PhonebookCapacity& capacity) override; 429 Return<void> updateSimPhonebookRecordsResponse(const V1_6::RadioResponseInfo& info, 430 int32_t updatedRecordIndex) override; 431 432 public: 433 RadioResponse(std::shared_ptr<DriverContext> context); 434 435 void setResponseFunction( 436 std::shared_ptr<::aidl::android::hardware::radio::data::IRadioDataResponse> dataCb); 437 void setResponseFunction( 438 std::shared_ptr<::aidl::android::hardware::radio::messaging::IRadioMessagingResponse> 439 radioMessagingResponse); 440 void setResponseFunction( 441 std::shared_ptr<::aidl::android::hardware::radio::modem::IRadioModemResponse> modemCb); 442 void setResponseFunction( 443 std::shared_ptr<::aidl::android::hardware::radio::network::IRadioNetworkResponse> nwCb); 444 void setResponseFunction( 445 std::shared_ptr<::aidl::android::hardware::radio::sim::IRadioSimResponse> simCb); 446 void setResponseFunction( 447 std::shared_ptr<::aidl::android::hardware::radio::voice::IRadioVoiceResponse> voiceCb); 448 void setResponseFunction( 449 std::shared_ptr<::aidl::android::hardware::radio::ims::IRadioImsResponse> imsCb); 450 451 std::shared_ptr<::aidl::android::hardware::radio::data::IRadioDataResponse> dataCb(); 452 std::shared_ptr<::aidl::android::hardware::radio::messaging::IRadioMessagingResponse> 453 messagingCb(); 454 std::shared_ptr<::aidl::android::hardware::radio::modem::IRadioModemResponse> modemCb(); 455 std::shared_ptr<::aidl::android::hardware::radio::network::IRadioNetworkResponse> networkCb(); 456 std::shared_ptr<::aidl::android::hardware::radio::sim::IRadioSimResponse> simCb(); 457 std::shared_ptr<::aidl::android::hardware::radio::voice::IRadioVoiceResponse> voiceCb(); 458 std::shared_ptr<::aidl::android::hardware::radio::ims::IRadioImsResponse> imsCb(); 459 }; 460 461 } // namespace android::hardware::radio::compat 462