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