• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 #include <libradiocompat/RadioIms.h>
18 
19 #include "commonStructs.h"
20 #include "debug.h"
21 
22 #include "collections.h"
23 
24 #define RADIO_MODULE "Ims"
25 
26 namespace android::hardware::radio::compat {
27 
28 using ::ndk::ScopedAStatus;
29 namespace aidl = ::aidl::android::hardware::radio::ims;
30 constexpr auto ok = &ScopedAStatus::ok;
31 
respond()32 std::shared_ptr<aidl::IRadioImsResponse> RadioIms::respond() {
33     return mCallbackManager->response().imsCb();
34 }
35 
setSrvccCallInfo(int32_t serial,const std::vector<aidl::SrvccCall> &)36 ScopedAStatus RadioIms::setSrvccCallInfo(
37         int32_t serial, const std::vector<aidl::SrvccCall>& /*srvccCalls*/) {
38     LOG_CALL << serial;
39     LOG(ERROR) << " setSrvccCallInfo is unsupported by HIDL HALs";
40     return ok();
41 }
updateImsRegistrationInfo(int32_t serial,const aidl::ImsRegistration &)42 ScopedAStatus RadioIms::updateImsRegistrationInfo(
43         int32_t serial, const aidl::ImsRegistration& /*imsRegistration*/) {
44     LOG_CALL << serial;
45     LOG(ERROR) << " updateImsRegistrationInfo is unsupported by HIDL HALs";
46     return ok();
47 }
startImsTraffic(int32_t serial,int32_t,aidl::ImsTrafficType,::aidl::android::hardware::radio::AccessNetwork,::aidl::android::hardware::radio::ims::ImsCall::Direction)48 ScopedAStatus RadioIms::startImsTraffic(
49         int32_t serial, int32_t /*token*/, aidl::ImsTrafficType /*imsTrafficType*/,
50         ::aidl::android::hardware::radio::AccessNetwork /*accessNetworkType*/,
51         ::aidl::android::hardware::radio::ims::ImsCall::Direction /*trafficDirection*/) {
52     LOG_CALL << serial;
53     LOG(ERROR) << " startImsTraffic is unsupported by HIDL HALs";
54     return ok();
55 }
stopImsTraffic(int32_t serial,int32_t)56 ScopedAStatus RadioIms::stopImsTraffic(int32_t serial, int32_t /*token*/) {
57     LOG_CALL << serial;
58     LOG(ERROR) << " stopImsTraffic is unsupported by HIDL HALs";
59     return ok();
60 }
triggerEpsFallback(int32_t serial,aidl::EpsFallbackReason)61 ScopedAStatus RadioIms::triggerEpsFallback(int32_t serial, aidl::EpsFallbackReason /*reason*/) {
62     LOG_CALL << serial;
63     LOG(ERROR) << " triggerEpsFallback is unsupported by HIDL HALs";
64     return ok();
65 }
sendAnbrQuery(int32_t serial,aidl::ImsStreamType,aidl::ImsStreamDirection,int32_t)66 ScopedAStatus RadioIms::sendAnbrQuery(
67         int32_t serial, aidl::ImsStreamType /*mediaType*/, aidl::ImsStreamDirection /*direction*/,
68         int32_t /*bitsPerSecond*/) {
69     LOG_CALL << serial;
70     LOG(ERROR) << " sendAnbrQuery is unsupported by HIDL HALs";
71     return ok();
72 }
updateImsCallStatus(int32_t serial,const std::vector<aidl::ImsCall> &)73 ScopedAStatus RadioIms::updateImsCallStatus(
74         int32_t serial, const std::vector<aidl::ImsCall>& /*imsCalls*/) {
75     LOG_CALL << serial;
76     LOG(ERROR) << " updateImsCallStatus is unsupported by HIDL HALs";
77     return ok();
78 }
79 
setResponseFunctions(const std::shared_ptr<aidl::IRadioImsResponse> & response,const std::shared_ptr<aidl::IRadioImsIndication> & indication)80 ScopedAStatus RadioIms::setResponseFunctions(
81         const std::shared_ptr<aidl::IRadioImsResponse>& response,
82         const std::shared_ptr<aidl::IRadioImsIndication>& indication) {
83     LOG_CALL << response << ' ' << indication;
84     mCallbackManager->setResponseFunctions(response, indication);
85     return ok();
86 }
87 
88 }  // namespace android::hardware::radio::compat
89