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