1 /* 2 * Copyright (C) 2022 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 "RadioCompatBase.h" 19 20 #include <aidl/android/hardware/radio/ims/BnRadioIms.h> 21 22 namespace android::hardware::radio::compat { 23 24 class RadioIms : public RadioCompatBase, public aidl::android::hardware::radio::ims::BnRadioIms { 25 ::ndk::ScopedAStatus setSrvccCallInfo( 26 int32_t serial, 27 const std::vector<::aidl::android::hardware::radio::ims::SrvccCall>& srvccCalls) 28 override; 29 ::ndk::ScopedAStatus updateImsRegistrationInfo( 30 int32_t serial, 31 const ::aidl::android::hardware::radio::ims::ImsRegistration& imsRegistration) override; 32 ::ndk::ScopedAStatus startImsTraffic( 33 int32_t serial, int32_t token, 34 ::aidl::android::hardware::radio::ims::ImsTrafficType imsTrafficType, 35 ::aidl::android::hardware::radio::AccessNetwork accessNetworkType, 36 ::aidl::android::hardware::radio::ims::ImsCall::Direction trafficDirection) override; 37 ::ndk::ScopedAStatus stopImsTraffic(int32_t serial, int32_t token) override; 38 ::ndk::ScopedAStatus triggerEpsFallback( 39 int32_t serial, 40 ::aidl::android::hardware::radio::ims::EpsFallbackReason reason) override; 41 ::ndk::ScopedAStatus sendAnbrQuery( 42 int32_t serial, ::aidl::android::hardware::radio::ims::ImsStreamType mediaType, 43 ::aidl::android::hardware::radio::ims::ImsStreamDirection direction, 44 int32_t bitsPerSecond) override; 45 ::ndk::ScopedAStatus updateImsCallStatus( 46 int32_t serial, 47 const std::vector<::aidl::android::hardware::radio::ims::ImsCall>& imsCalls) override; 48 49 ::ndk::ScopedAStatus setResponseFunctions( 50 const std::shared_ptr<::aidl::android::hardware::radio::ims::IRadioImsResponse>& 51 radioImsResponse, 52 const std::shared_ptr<::aidl::android::hardware::radio::ims::IRadioImsIndication>& 53 radioImsIndication) override; 54 55 protected: 56 std::shared_ptr<::aidl::android::hardware::radio::ims::IRadioImsResponse> respond(); 57 58 public: 59 using RadioCompatBase::RadioCompatBase; 60 }; 61 62 } // namespace android::hardware::radio::compat 63