1 /*
2 * This file is auto-generated. DO NOT MODIFY.
3 * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 1 --hash 514f08f7a595501066b94e5de878d240b4d49456 -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/hardware/interfaces/sensors/aidl/android.hardware.sensors_interface/3/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl --ninja -d out/soong/.intermediates/frameworks/hardware/interfaces/sensorservice/aidl/android.frameworks.sensorservice-V1-ndk-source/gen/staging/android/frameworks/sensorservice/IEventQueue.cpp.d -h out/soong/.intermediates/frameworks/hardware/interfaces/sensorservice/aidl/android.frameworks.sensorservice-V1-ndk-source/gen/include/staging -o out/soong/.intermediates/frameworks/hardware/interfaces/sensorservice/aidl/android.frameworks.sensorservice-V1-ndk-source/gen/staging -Nframeworks/hardware/interfaces/sensorservice/aidl/aidl_api/android.frameworks.sensorservice/1 frameworks/hardware/interfaces/sensorservice/aidl/aidl_api/android.frameworks.sensorservice/1/android/frameworks/sensorservice/IEventQueue.aidl
4 *
5 * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6 * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7 * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8 */
9 #include "aidl/android/frameworks/sensorservice/IEventQueue.h"
10
11 #include <android/binder_parcel_utils.h>
12 #include <aidl/android/frameworks/sensorservice/BnEventQueue.h>
13 #include <aidl/android/frameworks/sensorservice/BpEventQueue.h>
14 #include <aidl/android/hardware/sensors/BnSensors.h>
15 #include <aidl/android/hardware/sensors/BnSensorsCallback.h>
16 #include <aidl/android/hardware/sensors/BpSensors.h>
17 #include <aidl/android/hardware/sensors/BpSensorsCallback.h>
18 #include <aidl/android/hardware/sensors/ISensors.h>
19 #include <aidl/android/hardware/sensors/ISensorsCallback.h>
20
21 namespace aidl {
22 namespace android {
23 namespace frameworks {
24 namespace sensorservice {
_aidl_android_frameworks_sensorservice_IEventQueue_onTransact(AIBinder * _aidl_binder,transaction_code_t _aidl_code,const AParcel * _aidl_in,AParcel * _aidl_out)25 static binder_status_t _aidl_android_frameworks_sensorservice_IEventQueue_onTransact(AIBinder* _aidl_binder, transaction_code_t _aidl_code, const AParcel* _aidl_in, AParcel* _aidl_out) {
26 (void)_aidl_in;
27 (void)_aidl_out;
28 binder_status_t _aidl_ret_status = STATUS_UNKNOWN_TRANSACTION;
29 std::shared_ptr<BnEventQueue> _aidl_impl = std::static_pointer_cast<BnEventQueue>(::ndk::ICInterface::asInterface(_aidl_binder));
30 switch (_aidl_code) {
31 case (FIRST_CALL_TRANSACTION + 0 /*disableSensor*/): {
32 int32_t in_sensorHandle;
33
34 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_sensorHandle);
35 if (_aidl_ret_status != STATUS_OK) break;
36
37 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->disableSensor(in_sensorHandle);
38 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
39 if (_aidl_ret_status != STATUS_OK) break;
40
41 if (!AStatus_isOk(_aidl_status.get())) break;
42
43 break;
44 }
45 case (FIRST_CALL_TRANSACTION + 1 /*enableSensor*/): {
46 int32_t in_sensorHandle;
47 int32_t in_samplingPeriodUs;
48 int64_t in_maxBatchReportLatencyUs;
49
50 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_sensorHandle);
51 if (_aidl_ret_status != STATUS_OK) break;
52
53 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_samplingPeriodUs);
54 if (_aidl_ret_status != STATUS_OK) break;
55
56 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_maxBatchReportLatencyUs);
57 if (_aidl_ret_status != STATUS_OK) break;
58
59 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->enableSensor(in_sensorHandle, in_samplingPeriodUs, in_maxBatchReportLatencyUs);
60 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
61 if (_aidl_ret_status != STATUS_OK) break;
62
63 if (!AStatus_isOk(_aidl_status.get())) break;
64
65 break;
66 }
67 case (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/): {
68 int32_t _aidl_return;
69
70 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceVersion(&_aidl_return);
71 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
72 if (_aidl_ret_status != STATUS_OK) break;
73
74 if (!AStatus_isOk(_aidl_status.get())) break;
75
76 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
77 if (_aidl_ret_status != STATUS_OK) break;
78
79 break;
80 }
81 case (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/): {
82 std::string _aidl_return;
83
84 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceHash(&_aidl_return);
85 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
86 if (_aidl_ret_status != STATUS_OK) break;
87
88 if (!AStatus_isOk(_aidl_status.get())) break;
89
90 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
91 if (_aidl_ret_status != STATUS_OK) break;
92
93 break;
94 }
95 }
96 return _aidl_ret_status;
97 }
98
99 static const char* _g_aidl_android_frameworks_sensorservice_IEventQueue_clazz_code_to_function[] = { "disableSensor","enableSensor",};
100 static AIBinder_Class* _g_aidl_android_frameworks_sensorservice_IEventQueue_clazz = ::ndk::ICInterface::defineClass(IEventQueue::descriptor, _aidl_android_frameworks_sensorservice_IEventQueue_onTransact, _g_aidl_android_frameworks_sensorservice_IEventQueue_clazz_code_to_function, 2);
101
BpEventQueue(const::ndk::SpAIBinder & binder)102 BpEventQueue::BpEventQueue(const ::ndk::SpAIBinder& binder) : BpCInterface(binder) {}
~BpEventQueue()103 BpEventQueue::~BpEventQueue() {}
104
disableSensor(int32_t in_sensorHandle)105 ::ndk::ScopedAStatus BpEventQueue::disableSensor(int32_t in_sensorHandle) {
106 binder_status_t _aidl_ret_status = STATUS_OK;
107 ::ndk::ScopedAStatus _aidl_status;
108 ::ndk::ScopedAParcel _aidl_in;
109 ::ndk::ScopedAParcel _aidl_out;
110
111 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
112 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
113
114 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_sensorHandle);
115 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
116
117 _aidl_ret_status = AIBinder_transact(
118 asBinderReference().get(),
119 (FIRST_CALL_TRANSACTION + 0 /*disableSensor*/),
120 _aidl_in.getR(),
121 _aidl_out.getR(),
122 0
123 #ifdef BINDER_STABILITY_SUPPORT
124 | static_cast<int>(FLAG_PRIVATE_LOCAL)
125 #endif // BINDER_STABILITY_SUPPORT
126 );
127 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IEventQueue::getDefaultImpl()) {
128 _aidl_status = IEventQueue::getDefaultImpl()->disableSensor(in_sensorHandle);
129 goto _aidl_status_return;
130 }
131 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
132
133 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
134 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
135
136 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
137 _aidl_error:
138 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
139 _aidl_status_return:
140 return _aidl_status;
141 }
enableSensor(int32_t in_sensorHandle,int32_t in_samplingPeriodUs,int64_t in_maxBatchReportLatencyUs)142 ::ndk::ScopedAStatus BpEventQueue::enableSensor(int32_t in_sensorHandle, int32_t in_samplingPeriodUs, int64_t in_maxBatchReportLatencyUs) {
143 binder_status_t _aidl_ret_status = STATUS_OK;
144 ::ndk::ScopedAStatus _aidl_status;
145 ::ndk::ScopedAParcel _aidl_in;
146 ::ndk::ScopedAParcel _aidl_out;
147
148 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
149 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
150
151 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_sensorHandle);
152 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
153
154 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_samplingPeriodUs);
155 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
156
157 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_maxBatchReportLatencyUs);
158 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
159
160 _aidl_ret_status = AIBinder_transact(
161 asBinderReference().get(),
162 (FIRST_CALL_TRANSACTION + 1 /*enableSensor*/),
163 _aidl_in.getR(),
164 _aidl_out.getR(),
165 0
166 #ifdef BINDER_STABILITY_SUPPORT
167 | static_cast<int>(FLAG_PRIVATE_LOCAL)
168 #endif // BINDER_STABILITY_SUPPORT
169 );
170 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IEventQueue::getDefaultImpl()) {
171 _aidl_status = IEventQueue::getDefaultImpl()->enableSensor(in_sensorHandle, in_samplingPeriodUs, in_maxBatchReportLatencyUs);
172 goto _aidl_status_return;
173 }
174 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
175
176 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
177 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
178
179 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
180 _aidl_error:
181 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
182 _aidl_status_return:
183 return _aidl_status;
184 }
getInterfaceVersion(int32_t * _aidl_return)185 ::ndk::ScopedAStatus BpEventQueue::getInterfaceVersion(int32_t* _aidl_return) {
186 binder_status_t _aidl_ret_status = STATUS_OK;
187 ::ndk::ScopedAStatus _aidl_status;
188 if (_aidl_cached_version != -1) {
189 *_aidl_return = _aidl_cached_version;
190 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
191 return _aidl_status;
192 }
193 ::ndk::ScopedAParcel _aidl_in;
194 ::ndk::ScopedAParcel _aidl_out;
195
196 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
197 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
198
199 _aidl_ret_status = AIBinder_transact(
200 asBinderReference().get(),
201 (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/),
202 _aidl_in.getR(),
203 _aidl_out.getR(),
204 0
205 #ifdef BINDER_STABILITY_SUPPORT
206 | static_cast<int>(FLAG_PRIVATE_LOCAL)
207 #endif // BINDER_STABILITY_SUPPORT
208 );
209 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IEventQueue::getDefaultImpl()) {
210 _aidl_status = IEventQueue::getDefaultImpl()->getInterfaceVersion(_aidl_return);
211 goto _aidl_status_return;
212 }
213 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
214
215 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
216 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
217
218 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
219 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
220 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
221
222 _aidl_cached_version = *_aidl_return;
223 _aidl_error:
224 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
225 _aidl_status_return:
226 return _aidl_status;
227 }
getInterfaceHash(std::string * _aidl_return)228 ::ndk::ScopedAStatus BpEventQueue::getInterfaceHash(std::string* _aidl_return) {
229 binder_status_t _aidl_ret_status = STATUS_OK;
230 ::ndk::ScopedAStatus _aidl_status;
231 const std::lock_guard<std::mutex> lock(_aidl_cached_hash_mutex);
232 if (_aidl_cached_hash != "-1") {
233 *_aidl_return = _aidl_cached_hash;
234 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
235 return _aidl_status;
236 }
237 ::ndk::ScopedAParcel _aidl_in;
238 ::ndk::ScopedAParcel _aidl_out;
239
240 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
241 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
242
243 _aidl_ret_status = AIBinder_transact(
244 asBinderReference().get(),
245 (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/),
246 _aidl_in.getR(),
247 _aidl_out.getR(),
248 0
249 #ifdef BINDER_STABILITY_SUPPORT
250 | static_cast<int>(FLAG_PRIVATE_LOCAL)
251 #endif // BINDER_STABILITY_SUPPORT
252 );
253 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IEventQueue::getDefaultImpl()) {
254 _aidl_status = IEventQueue::getDefaultImpl()->getInterfaceHash(_aidl_return);
255 goto _aidl_status_return;
256 }
257 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
258
259 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
260 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
261
262 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
263 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
264 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
265
266 _aidl_cached_hash = *_aidl_return;
267 _aidl_error:
268 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
269 _aidl_status_return:
270 return _aidl_status;
271 }
272 // Source for BnEventQueue
BnEventQueue()273 BnEventQueue::BnEventQueue() {}
~BnEventQueue()274 BnEventQueue::~BnEventQueue() {}
createBinder()275 ::ndk::SpAIBinder BnEventQueue::createBinder() {
276 AIBinder* binder = AIBinder_new(_g_aidl_android_frameworks_sensorservice_IEventQueue_clazz, static_cast<void*>(this));
277 #ifdef BINDER_STABILITY_SUPPORT
278 AIBinder_markVintfStability(binder);
279 #endif // BINDER_STABILITY_SUPPORT
280 return ::ndk::SpAIBinder(binder);
281 }
getInterfaceVersion(int32_t * _aidl_return)282 ::ndk::ScopedAStatus BnEventQueue::getInterfaceVersion(int32_t* _aidl_return) {
283 *_aidl_return = IEventQueue::version;
284 return ::ndk::ScopedAStatus(AStatus_newOk());
285 }
getInterfaceHash(std::string * _aidl_return)286 ::ndk::ScopedAStatus BnEventQueue::getInterfaceHash(std::string* _aidl_return) {
287 *_aidl_return = IEventQueue::hash;
288 return ::ndk::ScopedAStatus(AStatus_newOk());
289 }
290 // Source for IEventQueue
291 const char* IEventQueue::descriptor = "android.frameworks.sensorservice.IEventQueue";
IEventQueue()292 IEventQueue::IEventQueue() {}
~IEventQueue()293 IEventQueue::~IEventQueue() {}
294
295
fromBinder(const::ndk::SpAIBinder & binder)296 std::shared_ptr<IEventQueue> IEventQueue::fromBinder(const ::ndk::SpAIBinder& binder) {
297 if (!AIBinder_associateClass(binder.get(), _g_aidl_android_frameworks_sensorservice_IEventQueue_clazz)) {
298 #if __ANDROID_API__ >= 31
299 const AIBinder_Class* originalClass = AIBinder_getClass(binder.get());
300 if (originalClass == nullptr) return nullptr;
301 if (0 == strcmp(AIBinder_Class_getDescriptor(originalClass), descriptor)) {
302 return ::ndk::SharedRefBase::make<BpEventQueue>(binder);
303 }
304 #endif
305 return nullptr;
306 }
307 std::shared_ptr<::ndk::ICInterface> interface = ::ndk::ICInterface::asInterface(binder.get());
308 if (interface) {
309 return std::static_pointer_cast<IEventQueue>(interface);
310 }
311 return ::ndk::SharedRefBase::make<BpEventQueue>(binder);
312 }
313
writeToParcel(AParcel * parcel,const std::shared_ptr<IEventQueue> & instance)314 binder_status_t IEventQueue::writeToParcel(AParcel* parcel, const std::shared_ptr<IEventQueue>& instance) {
315 return AParcel_writeStrongBinder(parcel, instance ? instance->asBinder().get() : nullptr);
316 }
readFromParcel(const AParcel * parcel,std::shared_ptr<IEventQueue> * instance)317 binder_status_t IEventQueue::readFromParcel(const AParcel* parcel, std::shared_ptr<IEventQueue>* instance) {
318 ::ndk::SpAIBinder binder;
319 binder_status_t status = AParcel_readStrongBinder(parcel, binder.getR());
320 if (status != STATUS_OK) return status;
321 *instance = IEventQueue::fromBinder(binder);
322 return STATUS_OK;
323 }
setDefaultImpl(const std::shared_ptr<IEventQueue> & impl)324 bool IEventQueue::setDefaultImpl(const std::shared_ptr<IEventQueue>& impl) {
325 // Only one user of this interface can use this function
326 // at a time. This is a heuristic to detect if two different
327 // users in the same process use this function.
328 assert(!IEventQueue::default_impl);
329 if (impl) {
330 IEventQueue::default_impl = impl;
331 return true;
332 }
333 return false;
334 }
getDefaultImpl()335 const std::shared_ptr<IEventQueue>& IEventQueue::getDefaultImpl() {
336 return IEventQueue::default_impl;
337 }
338 std::shared_ptr<IEventQueue> IEventQueue::default_impl = nullptr;
disableSensor(int32_t)339 ::ndk::ScopedAStatus IEventQueueDefault::disableSensor(int32_t /*in_sensorHandle*/) {
340 ::ndk::ScopedAStatus _aidl_status;
341 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
342 return _aidl_status;
343 }
enableSensor(int32_t,int32_t,int64_t)344 ::ndk::ScopedAStatus IEventQueueDefault::enableSensor(int32_t /*in_sensorHandle*/, int32_t /*in_samplingPeriodUs*/, int64_t /*in_maxBatchReportLatencyUs*/) {
345 ::ndk::ScopedAStatus _aidl_status;
346 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
347 return _aidl_status;
348 }
getInterfaceVersion(int32_t * _aidl_return)349 ::ndk::ScopedAStatus IEventQueueDefault::getInterfaceVersion(int32_t* _aidl_return) {
350 *_aidl_return = 0;
351 return ::ndk::ScopedAStatus(AStatus_newOk());
352 }
getInterfaceHash(std::string * _aidl_return)353 ::ndk::ScopedAStatus IEventQueueDefault::getInterfaceHash(std::string* _aidl_return) {
354 *_aidl_return = "";
355 return ::ndk::ScopedAStatus(AStatus_newOk());
356 }
asBinder()357 ::ndk::SpAIBinder IEventQueueDefault::asBinder() {
358 return ::ndk::SpAIBinder();
359 }
isRemote()360 bool IEventQueueDefault::isRemote() {
361 return false;
362 }
363 } // namespace sensorservice
364 } // namespace frameworks
365 } // namespace android
366 } // namespace aidl
367