blob: 24ad3d7c9b679418c14e20f181bcdedd6185e196 [file] [log] [blame]
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -07001/*
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 "MessagingResponse"
26
27namespace android::hardware::radio::compat {
28
29namespace aidl = ::aidl::android::hardware::radio::messaging;
30
31void RadioResponse::setResponseFunction(std::shared_ptr<aidl::IRadioMessagingResponse> rmrCb) {
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070032 mMessagingCb = rmrCb;
33}
34
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080035std::shared_ptr<aidl::IRadioMessagingResponse> RadioResponse::messagingCb() {
36 return mMessagingCb.get();
37}
38
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070039Return<void> RadioResponse::acknowledgeIncomingGsmSmsWithPduResponse(
40 const V1_0::RadioResponseInfo& info) {
41 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080042 messagingCb()->acknowledgeIncomingGsmSmsWithPduResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070043 return {};
44}
45
46Return<void> RadioResponse::acknowledgeLastIncomingCdmaSmsResponse(
47 const V1_0::RadioResponseInfo& info) {
48 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080049 messagingCb()->acknowledgeLastIncomingCdmaSmsResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070050 return {};
51}
52
53Return<void> RadioResponse::acknowledgeLastIncomingGsmSmsResponse(
54 const V1_0::RadioResponseInfo& info) {
55 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080056 messagingCb()->acknowledgeLastIncomingGsmSmsResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070057 return {};
58}
59
60Return<void> RadioResponse::cancelPendingUssdResponse(const V1_0::RadioResponseInfo& info) {
61 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080062 messagingCb()->cancelPendingUssdResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070063 return {};
64}
65
66Return<void> RadioResponse::deleteSmsOnRuimResponse(const V1_0::RadioResponseInfo& info) {
67 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080068 messagingCb()->deleteSmsOnRuimResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070069 return {};
70}
71
72Return<void> RadioResponse::deleteSmsOnSimResponse(const V1_0::RadioResponseInfo& info) {
73 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080074 messagingCb()->deleteSmsOnSimResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070075 return {};
76}
77
78Return<void> RadioResponse::getCdmaBroadcastConfigResponse(
79 const V1_0::RadioResponseInfo& info,
80 const hidl_vec<V1_0::CdmaBroadcastSmsConfigInfo>& configs) {
81 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080082 messagingCb()->getCdmaBroadcastConfigResponse(toAidl(info), toAidl(configs));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070083 return {};
84}
85
86Return<void> RadioResponse::getGsmBroadcastConfigResponse(
87 const V1_0::RadioResponseInfo& info, const hidl_vec<V1_0::GsmBroadcastSmsConfigInfo>& cfg) {
88 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080089 messagingCb()->getGsmBroadcastConfigResponse(toAidl(info), toAidl(cfg));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070090 return {};
91}
92
93Return<void> RadioResponse::getSmscAddressResponse(const V1_0::RadioResponseInfo& info,
94 const hidl_string& smsc) {
95 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080096 messagingCb()->getSmscAddressResponse(toAidl(info), smsc);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070097 return {};
98}
99
100Return<void> RadioResponse::reportSmsMemoryStatusResponse(const V1_0::RadioResponseInfo& info) {
101 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800102 messagingCb()->reportSmsMemoryStatusResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700103 return {};
104}
105
106Return<void> RadioResponse::sendCdmaSmsExpectMoreResponse(const V1_0::RadioResponseInfo& info,
107 const V1_0::SendSmsResult& sms) {
108 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800109 messagingCb()->sendCdmaSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700110 return {};
111}
112
113Return<void> RadioResponse::sendCdmaSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info,
114 const V1_0::SendSmsResult& sms) {
115 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800116 messagingCb()->sendCdmaSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700117 return {};
118}
119
120Return<void> RadioResponse::sendCdmaSmsResponse(const V1_0::RadioResponseInfo& info,
121 const V1_0::SendSmsResult& sms) {
122 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800123 messagingCb()->sendCdmaSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700124 return {};
125}
126
127Return<void> RadioResponse::sendCdmaSmsResponse_1_6(const V1_6::RadioResponseInfo& info,
128 const V1_0::SendSmsResult& sms) {
129 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800130 messagingCb()->sendCdmaSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700131 return {};
132}
133
134Return<void> RadioResponse::sendImsSmsResponse(const V1_0::RadioResponseInfo& info,
135 const V1_0::SendSmsResult& sms) {
136 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800137 messagingCb()->sendImsSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700138 return {};
139}
140
141Return<void> RadioResponse::sendSMSExpectMoreResponse(const V1_0::RadioResponseInfo& info,
142 const V1_0::SendSmsResult& sms) {
143 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800144 messagingCb()->sendSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700145 return {};
146}
147
148Return<void> RadioResponse::sendSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info,
149 const V1_0::SendSmsResult& sms) {
150 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800151 messagingCb()->sendSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700152 return {};
153}
154
155Return<void> RadioResponse::sendSmsResponse(const V1_0::RadioResponseInfo& info,
156 const V1_0::SendSmsResult& sms) {
157 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800158 messagingCb()->sendSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700159 return {};
160}
161
162Return<void> RadioResponse::sendSmsResponse_1_6(const V1_6::RadioResponseInfo& info,
163 const V1_0::SendSmsResult& sms) {
164 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800165 messagingCb()->sendSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700166 return {};
167}
168
169Return<void> RadioResponse::sendUssdResponse(const V1_0::RadioResponseInfo& info) {
170 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800171 messagingCb()->sendUssdResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700172 return {};
173}
174
175Return<void> RadioResponse::setCdmaBroadcastActivationResponse(
176 const V1_0::RadioResponseInfo& info) {
177 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800178 messagingCb()->setCdmaBroadcastActivationResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700179 return {};
180}
181
182Return<void> RadioResponse::setCdmaBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) {
183 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800184 messagingCb()->setCdmaBroadcastConfigResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700185 return {};
186}
187
188Return<void> RadioResponse::setGsmBroadcastActivationResponse(const V1_0::RadioResponseInfo& info) {
189 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800190 messagingCb()->setGsmBroadcastActivationResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700191 return {};
192}
193
194Return<void> RadioResponse::setGsmBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) {
195 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800196 messagingCb()->setGsmBroadcastConfigResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700197 return {};
198}
199
200Return<void> RadioResponse::setSmscAddressResponse(const V1_0::RadioResponseInfo& info) {
201 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800202 messagingCb()->setSmscAddressResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700203 return {};
204}
205
206Return<void> RadioResponse::writeSmsToRuimResponse(const V1_0::RadioResponseInfo& info,
207 uint32_t index) {
208 LOG_CALL << info.serial << ' ' << index;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800209 messagingCb()->writeSmsToRuimResponse(toAidl(info), index);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700210 return {};
211}
212
213Return<void> RadioResponse::writeSmsToSimResponse(const V1_0::RadioResponseInfo& info,
214 int32_t index) {
215 LOG_CALL << info.serial << ' ' << index;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800216 messagingCb()->writeSmsToSimResponse(toAidl(info), index);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700217 return {};
218}
219
220} // namespace android::hardware::radio::compat