blob: 300627c0f4c6c97c4b236061ced0f6649705278f [file] [log] [blame]
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -08001/*
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
17#include <libradiocompat/RadioResponse.h>
18
19#include "commonStructs.h"
20#include "debug.h"
21#include "structs.h"
22
23#include "collections.h"
24
25#define RADIO_MODULE "ModemResponse"
26
27namespace android::hardware::radio::compat {
28
29namespace aidl = ::aidl::android::hardware::radio::modem;
30
31void RadioResponse::setResponseFunction(std::shared_ptr<aidl::IRadioModemResponse> modemCb) {
32 CHECK(modemCb);
33 mModemCb = modemCb;
34}
35
36Return<void> RadioResponse::enableModemResponse(const V1_0::RadioResponseInfo& info) {
37 LOG_CALL << info.serial;
38 CHECK_CB(mModemCb);
39 mModemCb->enableModemResponse(toAidl(info));
40 return {};
41}
42
43Return<void> RadioResponse::getBasebandVersionResponse(const V1_0::RadioResponseInfo& info,
44 const hidl_string& version) {
45 LOG_CALL << info.serial;
46 CHECK_CB(mModemCb);
47 mModemCb->getBasebandVersionResponse(toAidl(info), version);
48 return {};
49}
50
51Return<void> RadioResponse::getDeviceIdentityResponse( //
52 const V1_0::RadioResponseInfo& info, const hidl_string& imei, const hidl_string& imeisv,
53 const hidl_string& esn, const hidl_string& meid) {
54 LOG_CALL << info.serial;
55 CHECK_CB(mModemCb);
56 mModemCb->getDeviceIdentityResponse(toAidl(info), imei, imeisv, esn, meid);
57 return {};
58}
59
60Return<void> RadioResponse::getHardwareConfigResponse(
61 const V1_0::RadioResponseInfo& info, const hidl_vec<V1_0::HardwareConfig>& config) {
62 LOG_CALL << info.serial;
63 CHECK_CB(mModemCb);
64 mModemCb->getHardwareConfigResponse(toAidl(info), toAidl(config));
65 return {};
66}
67
68Return<void> RadioResponse::getModemActivityInfoResponse(
69 const V1_0::RadioResponseInfo& info, const V1_0::ActivityStatsInfo& activityInfo) {
70 LOG_CALL << info.serial;
71 CHECK_CB(mModemCb);
72 mModemCb->getModemActivityInfoResponse(toAidl(info), toAidl(activityInfo));
73 return {};
74}
75
76Return<void> RadioResponse::getModemStackStatusResponse(const V1_0::RadioResponseInfo& info,
77 bool isEnabled) {
78 LOG_CALL << info.serial;
79 CHECK_CB(mModemCb);
80 mModemCb->getModemStackStatusResponse(toAidl(info), isEnabled);
81 return {};
82}
83
84Return<void> RadioResponse::getRadioCapabilityResponse(const V1_0::RadioResponseInfo& info,
85 const V1_0::RadioCapability& rc) {
86 LOG_CALL << info.serial;
87 CHECK_CB(mModemCb);
88 mModemCb->getRadioCapabilityResponse(toAidl(info), toAidl(rc));
89 return {};
90}
91
92Return<void> RadioResponse::nvReadItemResponse(const V1_0::RadioResponseInfo& info,
93 const hidl_string& result) {
94 LOG_CALL << info.serial;
95 CHECK_CB(mModemCb);
96 mModemCb->nvReadItemResponse(toAidl(info), result);
97 return {};
98}
99
100Return<void> RadioResponse::nvResetConfigResponse(const V1_0::RadioResponseInfo& info) {
101 LOG_CALL << info.serial;
102 CHECK_CB(mModemCb);
103 mModemCb->nvResetConfigResponse(toAidl(info));
104 return {};
105}
106
107Return<void> RadioResponse::nvWriteCdmaPrlResponse(const V1_0::RadioResponseInfo& info) {
108 LOG_CALL << info.serial;
109 CHECK_CB(mModemCb);
110 mModemCb->nvWriteCdmaPrlResponse(toAidl(info));
111 return {};
112}
113
114Return<void> RadioResponse::nvWriteItemResponse(const V1_0::RadioResponseInfo& info) {
115 LOG_CALL << info.serial;
116 CHECK_CB(mModemCb);
117 mModemCb->nvWriteItemResponse(toAidl(info));
118 return {};
119}
120
121Return<void> RadioResponse::requestShutdownResponse(const V1_0::RadioResponseInfo& info) {
122 LOG_CALL << info.serial;
123 CHECK_CB(mModemCb);
124 mModemCb->requestShutdownResponse(toAidl(info));
125 return {};
126}
127
128Return<void> RadioResponse::sendDeviceStateResponse(const V1_0::RadioResponseInfo& info) {
129 LOG_CALL << info.serial;
130 CHECK_CB(mModemCb);
131 mModemCb->sendDeviceStateResponse(toAidl(info));
132 return {};
133}
134
135Return<void> RadioResponse::setRadioCapabilityResponse(const V1_0::RadioResponseInfo& info,
136 const V1_0::RadioCapability& rc) {
137 LOG_CALL << info.serial;
138 CHECK_CB(mModemCb);
139 mModemCb->setRadioCapabilityResponse(toAidl(info), toAidl(rc));
140 return {};
141}
142
143Return<void> RadioResponse::setRadioPowerResponse(const V1_0::RadioResponseInfo& info) {
144 LOG_CALL << info.serial;
145 CHECK_CB(mModemCb);
146 mModemCb->setRadioPowerResponse(toAidl(info));
147 return {};
148}
149
150Return<void> RadioResponse::setRadioPowerResponse_1_5(const V1_0::RadioResponseInfo& info) {
151 LOG_CALL << info.serial;
152 CHECK_CB(mModemCb);
153 mModemCb->setRadioPowerResponse(toAidl(info));
154 return {};
155}
156
157Return<void> RadioResponse::setRadioPowerResponse_1_6(const V1_6::RadioResponseInfo& info) {
158 LOG_CALL << info.serial;
159 CHECK_CB(mModemCb);
160 mModemCb->setRadioPowerResponse(toAidl(info));
161 return {};
162}
163
164} // namespace android::hardware::radio::compat