blob: 7a9273fbb4378b14b5e4e0deb87778b9f04a6e12 [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
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070060Return<void> RadioResponse::deleteSmsOnRuimResponse(const V1_0::RadioResponseInfo& info) {
61 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080062 messagingCb()->deleteSmsOnRuimResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070063 return {};
64}
65
66Return<void> RadioResponse::deleteSmsOnSimResponse(const V1_0::RadioResponseInfo& info) {
67 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080068 messagingCb()->deleteSmsOnSimResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070069 return {};
70}
71
72Return<void> RadioResponse::getCdmaBroadcastConfigResponse(
73 const V1_0::RadioResponseInfo& info,
74 const hidl_vec<V1_0::CdmaBroadcastSmsConfigInfo>& configs) {
75 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080076 messagingCb()->getCdmaBroadcastConfigResponse(toAidl(info), toAidl(configs));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070077 return {};
78}
79
80Return<void> RadioResponse::getGsmBroadcastConfigResponse(
81 const V1_0::RadioResponseInfo& info, const hidl_vec<V1_0::GsmBroadcastSmsConfigInfo>& cfg) {
82 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080083 messagingCb()->getGsmBroadcastConfigResponse(toAidl(info), toAidl(cfg));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070084 return {};
85}
86
87Return<void> RadioResponse::getSmscAddressResponse(const V1_0::RadioResponseInfo& info,
88 const hidl_string& smsc) {
89 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080090 messagingCb()->getSmscAddressResponse(toAidl(info), smsc);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070091 return {};
92}
93
94Return<void> RadioResponse::reportSmsMemoryStatusResponse(const V1_0::RadioResponseInfo& info) {
95 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -080096 messagingCb()->reportSmsMemoryStatusResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -070097 return {};
98}
99
100Return<void> RadioResponse::sendCdmaSmsExpectMoreResponse(const V1_0::RadioResponseInfo& info,
101 const V1_0::SendSmsResult& sms) {
102 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800103 messagingCb()->sendCdmaSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700104 return {};
105}
106
107Return<void> RadioResponse::sendCdmaSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info,
108 const V1_0::SendSmsResult& sms) {
109 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800110 messagingCb()->sendCdmaSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700111 return {};
112}
113
114Return<void> RadioResponse::sendCdmaSmsResponse(const V1_0::RadioResponseInfo& info,
115 const V1_0::SendSmsResult& sms) {
116 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800117 messagingCb()->sendCdmaSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700118 return {};
119}
120
121Return<void> RadioResponse::sendCdmaSmsResponse_1_6(const V1_6::RadioResponseInfo& info,
122 const V1_0::SendSmsResult& sms) {
123 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800124 messagingCb()->sendCdmaSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700125 return {};
126}
127
128Return<void> RadioResponse::sendImsSmsResponse(const V1_0::RadioResponseInfo& info,
129 const V1_0::SendSmsResult& sms) {
130 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800131 messagingCb()->sendImsSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700132 return {};
133}
134
135Return<void> RadioResponse::sendSMSExpectMoreResponse(const V1_0::RadioResponseInfo& info,
136 const V1_0::SendSmsResult& sms) {
137 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800138 messagingCb()->sendSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700139 return {};
140}
141
142Return<void> RadioResponse::sendSmsExpectMoreResponse_1_6(const V1_6::RadioResponseInfo& info,
143 const V1_0::SendSmsResult& sms) {
144 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800145 messagingCb()->sendSmsExpectMoreResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700146 return {};
147}
148
149Return<void> RadioResponse::sendSmsResponse(const V1_0::RadioResponseInfo& info,
150 const V1_0::SendSmsResult& sms) {
151 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800152 messagingCb()->sendSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700153 return {};
154}
155
156Return<void> RadioResponse::sendSmsResponse_1_6(const V1_6::RadioResponseInfo& info,
157 const V1_0::SendSmsResult& sms) {
158 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800159 messagingCb()->sendSmsResponse(toAidl(info), toAidl(sms));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700160 return {};
161}
162
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700163Return<void> RadioResponse::setCdmaBroadcastActivationResponse(
164 const V1_0::RadioResponseInfo& info) {
165 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800166 messagingCb()->setCdmaBroadcastActivationResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700167 return {};
168}
169
170Return<void> RadioResponse::setCdmaBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) {
171 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800172 messagingCb()->setCdmaBroadcastConfigResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700173 return {};
174}
175
176Return<void> RadioResponse::setGsmBroadcastActivationResponse(const V1_0::RadioResponseInfo& info) {
177 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800178 messagingCb()->setGsmBroadcastActivationResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700179 return {};
180}
181
182Return<void> RadioResponse::setGsmBroadcastConfigResponse(const V1_0::RadioResponseInfo& info) {
183 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800184 messagingCb()->setGsmBroadcastConfigResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700185 return {};
186}
187
188Return<void> RadioResponse::setSmscAddressResponse(const V1_0::RadioResponseInfo& info) {
189 LOG_CALL << info.serial;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800190 messagingCb()->setSmscAddressResponse(toAidl(info));
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700191 return {};
192}
193
194Return<void> RadioResponse::writeSmsToRuimResponse(const V1_0::RadioResponseInfo& info,
195 uint32_t index) {
196 LOG_CALL << info.serial << ' ' << index;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800197 messagingCb()->writeSmsToRuimResponse(toAidl(info), index);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700198 return {};
199}
200
201Return<void> RadioResponse::writeSmsToSimResponse(const V1_0::RadioResponseInfo& info,
202 int32_t index) {
203 LOG_CALL << info.serial << ' ' << index;
Tomasz Wasilczyk6902a752021-12-13 17:13:48 -0800204 messagingCb()->writeSmsToSimResponse(toAidl(info), index);
Tomasz Wasilczyk1f16d3a2021-10-25 20:20:49 -0700205 return {};
206}
207
208} // namespace android::hardware::radio::compat