blob: 6e1a96290385492478211d7429103ceb19e95258 [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) {
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080032 mModemCb = modemCb;
33}
34
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080035std::shared_ptr<aidl::IRadioModemResponse> RadioResponse::modemCb() {
36 return mModemCb.get();
37}
38
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080039Return<void> RadioResponse::enableModemResponse(const V1_0::RadioResponseInfo& info) {
40 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080041 modemCb()->enableModemResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080042 return {};
43}
44
45Return<void> RadioResponse::getBasebandVersionResponse(const V1_0::RadioResponseInfo& info,
46 const hidl_string& version) {
47 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080048 modemCb()->getBasebandVersionResponse(toAidl(info), version);
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080049 return {};
50}
51
52Return<void> RadioResponse::getDeviceIdentityResponse( //
53 const V1_0::RadioResponseInfo& info, const hidl_string& imei, const hidl_string& imeisv,
54 const hidl_string& esn, const hidl_string& meid) {
55 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080056 modemCb()->getDeviceIdentityResponse(toAidl(info), imei, imeisv, esn, meid);
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080057 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;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080063 modemCb()->getHardwareConfigResponse(toAidl(info), toAidl(config));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080064 return {};
65}
66
67Return<void> RadioResponse::getModemActivityInfoResponse(
68 const V1_0::RadioResponseInfo& info, const V1_0::ActivityStatsInfo& activityInfo) {
69 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080070 modemCb()->getModemActivityInfoResponse(toAidl(info), toAidl(activityInfo));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080071 return {};
72}
73
74Return<void> RadioResponse::getModemStackStatusResponse(const V1_0::RadioResponseInfo& info,
75 bool isEnabled) {
76 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080077 modemCb()->getModemStackStatusResponse(toAidl(info), isEnabled);
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080078 return {};
79}
80
81Return<void> RadioResponse::getRadioCapabilityResponse(const V1_0::RadioResponseInfo& info,
82 const V1_0::RadioCapability& rc) {
83 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080084 modemCb()->getRadioCapabilityResponse(toAidl(info), toAidl(rc));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080085 return {};
86}
87
88Return<void> RadioResponse::nvReadItemResponse(const V1_0::RadioResponseInfo& info,
89 const hidl_string& result) {
90 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080091 modemCb()->nvReadItemResponse(toAidl(info), result);
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080092 return {};
93}
94
95Return<void> RadioResponse::nvResetConfigResponse(const V1_0::RadioResponseInfo& info) {
96 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -080097 modemCb()->nvResetConfigResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -080098 return {};
99}
100
101Return<void> RadioResponse::nvWriteCdmaPrlResponse(const V1_0::RadioResponseInfo& info) {
102 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800103 modemCb()->nvWriteCdmaPrlResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800104 return {};
105}
106
107Return<void> RadioResponse::nvWriteItemResponse(const V1_0::RadioResponseInfo& info) {
108 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800109 modemCb()->nvWriteItemResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800110 return {};
111}
112
113Return<void> RadioResponse::requestShutdownResponse(const V1_0::RadioResponseInfo& info) {
114 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800115 modemCb()->requestShutdownResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800116 return {};
117}
118
119Return<void> RadioResponse::sendDeviceStateResponse(const V1_0::RadioResponseInfo& info) {
120 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800121 modemCb()->sendDeviceStateResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800122 return {};
123}
124
125Return<void> RadioResponse::setRadioCapabilityResponse(const V1_0::RadioResponseInfo& info,
126 const V1_0::RadioCapability& rc) {
127 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800128 modemCb()->setRadioCapabilityResponse(toAidl(info), toAidl(rc));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800129 return {};
130}
131
132Return<void> RadioResponse::setRadioPowerResponse(const V1_0::RadioResponseInfo& info) {
133 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800134 modemCb()->setRadioPowerResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800135 return {};
136}
137
138Return<void> RadioResponse::setRadioPowerResponse_1_5(const V1_0::RadioResponseInfo& info) {
139 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800140 modemCb()->setRadioPowerResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800141 return {};
142}
143
144Return<void> RadioResponse::setRadioPowerResponse_1_6(const V1_6::RadioResponseInfo& info) {
145 LOG_CALL << info.serial;
Tomasz Wasilczyk60638572021-12-13 17:13:48 -0800146 modemCb()->setRadioPowerResponse(toAidl(info));
Tomasz Wasilczykdcbae482021-11-08 16:10:28 -0800147 return {};
148}
149
150} // namespace android::hardware::radio::compat