1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 4 --hash 53178f8de9b8861df391cf0593f6f3e08adad33d -t --stability vintf --min_sdk_version 30 -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/graphics/common/aidl/android.hardware.graphics.common_interface/6/preprocessed.aidl --ninja -d out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/staging/android/hardware/neuralnetworks/IPreparedModel.cpp.d -h out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/staging -Nhardware/interfaces/neuralnetworks/aidl/aidl_api/android.hardware.neuralnetworks/4 hardware/interfaces/neuralnetworks/aidl/aidl_api/android.hardware.neuralnetworks/4/android/hardware/neuralnetworks/IPreparedModel.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/neuralnetworks/IPreparedModel.h"
10 
11 #include <android/binder_parcel_utils.h>
12 #include <aidl/android/hardware/neuralnetworks/BnBurst.h>
13 #include <aidl/android/hardware/neuralnetworks/BnExecution.h>
14 #include <aidl/android/hardware/neuralnetworks/BnFencedExecutionCallback.h>
15 #include <aidl/android/hardware/neuralnetworks/BnPreparedModel.h>
16 #include <aidl/android/hardware/neuralnetworks/BpBurst.h>
17 #include <aidl/android/hardware/neuralnetworks/BpExecution.h>
18 #include <aidl/android/hardware/neuralnetworks/BpFencedExecutionCallback.h>
19 #include <aidl/android/hardware/neuralnetworks/BpPreparedModel.h>
20 #include <aidl/android/hardware/neuralnetworks/IBurst.h>
21 #include <aidl/android/hardware/neuralnetworks/IExecution.h>
22 #include <aidl/android/hardware/neuralnetworks/IFencedExecutionCallback.h>
23 
24 namespace aidl {
25 namespace android {
26 namespace hardware {
27 namespace neuralnetworks {
_aidl_android_hardware_neuralnetworks_IPreparedModel_onTransact(AIBinder * _aidl_binder,transaction_code_t _aidl_code,const AParcel * _aidl_in,AParcel * _aidl_out)28 static binder_status_t _aidl_android_hardware_neuralnetworks_IPreparedModel_onTransact(AIBinder* _aidl_binder, transaction_code_t _aidl_code, const AParcel* _aidl_in, AParcel* _aidl_out) {
29   (void)_aidl_in;
30   (void)_aidl_out;
31   binder_status_t _aidl_ret_status = STATUS_UNKNOWN_TRANSACTION;
32   std::shared_ptr<BnPreparedModel> _aidl_impl = std::static_pointer_cast<BnPreparedModel>(::ndk::ICInterface::asInterface(_aidl_binder));
33   switch (_aidl_code) {
34     case (FIRST_CALL_TRANSACTION + 0 /*executeSynchronously*/): {
35       ::aidl::android::hardware::neuralnetworks::Request in_request;
36       bool in_measureTiming;
37       int64_t in_deadlineNs;
38       int64_t in_loopTimeoutDurationNs;
39       ::aidl::android::hardware::neuralnetworks::ExecutionResult _aidl_return;
40 
41       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_request);
42       if (_aidl_ret_status != STATUS_OK) break;
43 
44       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_measureTiming);
45       if (_aidl_ret_status != STATUS_OK) break;
46 
47       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_deadlineNs);
48       if (_aidl_ret_status != STATUS_OK) break;
49 
50       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_loopTimeoutDurationNs);
51       if (_aidl_ret_status != STATUS_OK) break;
52 
53       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->executeSynchronously(in_request, in_measureTiming, in_deadlineNs, in_loopTimeoutDurationNs, &_aidl_return);
54       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
55       if (_aidl_ret_status != STATUS_OK) break;
56 
57       if (!AStatus_isOk(_aidl_status.get())) break;
58 
59       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
60       if (_aidl_ret_status != STATUS_OK) break;
61 
62       break;
63     }
64     case (FIRST_CALL_TRANSACTION + 1 /*executeFenced*/): {
65       ::aidl::android::hardware::neuralnetworks::Request in_request;
66       std::vector<::ndk::ScopedFileDescriptor> in_waitFor;
67       bool in_measureTiming;
68       int64_t in_deadlineNs;
69       int64_t in_loopTimeoutDurationNs;
70       int64_t in_durationNs;
71       ::aidl::android::hardware::neuralnetworks::FencedExecutionResult _aidl_return;
72 
73       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_request);
74       if (_aidl_ret_status != STATUS_OK) break;
75 
76       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_waitFor);
77       if (_aidl_ret_status != STATUS_OK) break;
78 
79       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_measureTiming);
80       if (_aidl_ret_status != STATUS_OK) break;
81 
82       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_deadlineNs);
83       if (_aidl_ret_status != STATUS_OK) break;
84 
85       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_loopTimeoutDurationNs);
86       if (_aidl_ret_status != STATUS_OK) break;
87 
88       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_durationNs);
89       if (_aidl_ret_status != STATUS_OK) break;
90 
91       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->executeFenced(in_request, in_waitFor, in_measureTiming, in_deadlineNs, in_loopTimeoutDurationNs, in_durationNs, &_aidl_return);
92       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
93       if (_aidl_ret_status != STATUS_OK) break;
94 
95       if (!AStatus_isOk(_aidl_status.get())) break;
96 
97       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
98       if (_aidl_ret_status != STATUS_OK) break;
99 
100       break;
101     }
102     case (FIRST_CALL_TRANSACTION + 2 /*configureExecutionBurst*/): {
103       std::shared_ptr<::aidl::android::hardware::neuralnetworks::IBurst> _aidl_return;
104 
105       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->configureExecutionBurst(&_aidl_return);
106       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
107       if (_aidl_ret_status != STATUS_OK) break;
108 
109       if (!AStatus_isOk(_aidl_status.get())) break;
110 
111       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
112       if (_aidl_ret_status != STATUS_OK) break;
113 
114       break;
115     }
116     case (FIRST_CALL_TRANSACTION + 3 /*createReusableExecution*/): {
117       ::aidl::android::hardware::neuralnetworks::Request in_request;
118       ::aidl::android::hardware::neuralnetworks::ExecutionConfig in_config;
119       std::shared_ptr<::aidl::android::hardware::neuralnetworks::IExecution> _aidl_return;
120 
121       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_request);
122       if (_aidl_ret_status != STATUS_OK) break;
123 
124       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_config);
125       if (_aidl_ret_status != STATUS_OK) break;
126 
127       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->createReusableExecution(in_request, in_config, &_aidl_return);
128       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
129       if (_aidl_ret_status != STATUS_OK) break;
130 
131       if (!AStatus_isOk(_aidl_status.get())) break;
132 
133       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
134       if (_aidl_ret_status != STATUS_OK) break;
135 
136       break;
137     }
138     case (FIRST_CALL_TRANSACTION + 4 /*executeSynchronouslyWithConfig*/): {
139       ::aidl::android::hardware::neuralnetworks::Request in_request;
140       ::aidl::android::hardware::neuralnetworks::ExecutionConfig in_config;
141       int64_t in_deadlineNs;
142       ::aidl::android::hardware::neuralnetworks::ExecutionResult _aidl_return;
143 
144       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_request);
145       if (_aidl_ret_status != STATUS_OK) break;
146 
147       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_config);
148       if (_aidl_ret_status != STATUS_OK) break;
149 
150       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_deadlineNs);
151       if (_aidl_ret_status != STATUS_OK) break;
152 
153       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->executeSynchronouslyWithConfig(in_request, in_config, in_deadlineNs, &_aidl_return);
154       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
155       if (_aidl_ret_status != STATUS_OK) break;
156 
157       if (!AStatus_isOk(_aidl_status.get())) break;
158 
159       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
160       if (_aidl_ret_status != STATUS_OK) break;
161 
162       break;
163     }
164     case (FIRST_CALL_TRANSACTION + 5 /*executeFencedWithConfig*/): {
165       ::aidl::android::hardware::neuralnetworks::Request in_request;
166       std::vector<::ndk::ScopedFileDescriptor> in_waitFor;
167       ::aidl::android::hardware::neuralnetworks::ExecutionConfig in_config;
168       int64_t in_deadlineNs;
169       int64_t in_durationNs;
170       ::aidl::android::hardware::neuralnetworks::FencedExecutionResult _aidl_return;
171 
172       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_request);
173       if (_aidl_ret_status != STATUS_OK) break;
174 
175       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_waitFor);
176       if (_aidl_ret_status != STATUS_OK) break;
177 
178       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_config);
179       if (_aidl_ret_status != STATUS_OK) break;
180 
181       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_deadlineNs);
182       if (_aidl_ret_status != STATUS_OK) break;
183 
184       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_durationNs);
185       if (_aidl_ret_status != STATUS_OK) break;
186 
187       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->executeFencedWithConfig(in_request, in_waitFor, in_config, in_deadlineNs, in_durationNs, &_aidl_return);
188       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
189       if (_aidl_ret_status != STATUS_OK) break;
190 
191       if (!AStatus_isOk(_aidl_status.get())) break;
192 
193       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
194       if (_aidl_ret_status != STATUS_OK) break;
195 
196       break;
197     }
198     case (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/): {
199       int32_t _aidl_return;
200 
201       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceVersion(&_aidl_return);
202       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
203       if (_aidl_ret_status != STATUS_OK) break;
204 
205       if (!AStatus_isOk(_aidl_status.get())) break;
206 
207       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
208       if (_aidl_ret_status != STATUS_OK) break;
209 
210       break;
211     }
212     case (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/): {
213       std::string _aidl_return;
214 
215       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceHash(&_aidl_return);
216       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
217       if (_aidl_ret_status != STATUS_OK) break;
218 
219       if (!AStatus_isOk(_aidl_status.get())) break;
220 
221       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
222       if (_aidl_ret_status != STATUS_OK) break;
223 
224       break;
225     }
226   }
227   return _aidl_ret_status;
228 }
229 
230 static const char* _g_aidl_android_hardware_neuralnetworks_IPreparedModel_clazz_code_to_function[] = { "executeSynchronously","executeFenced","configureExecutionBurst","createReusableExecution","executeSynchronouslyWithConfig","executeFencedWithConfig",};
231 static AIBinder_Class* _g_aidl_android_hardware_neuralnetworks_IPreparedModel_clazz = ::ndk::ICInterface::defineClass(IPreparedModel::descriptor, _aidl_android_hardware_neuralnetworks_IPreparedModel_onTransact, _g_aidl_android_hardware_neuralnetworks_IPreparedModel_clazz_code_to_function, 6);
232 
BpPreparedModel(const::ndk::SpAIBinder & binder)233 BpPreparedModel::BpPreparedModel(const ::ndk::SpAIBinder& binder) : BpCInterface(binder) {}
~BpPreparedModel()234 BpPreparedModel::~BpPreparedModel() {}
235 
executeSynchronously(const::aidl::android::hardware::neuralnetworks::Request & in_request,bool in_measureTiming,int64_t in_deadlineNs,int64_t in_loopTimeoutDurationNs,::aidl::android::hardware::neuralnetworks::ExecutionResult * _aidl_return)236 ::ndk::ScopedAStatus BpPreparedModel::executeSynchronously(const ::aidl::android::hardware::neuralnetworks::Request& in_request, bool in_measureTiming, int64_t in_deadlineNs, int64_t in_loopTimeoutDurationNs, ::aidl::android::hardware::neuralnetworks::ExecutionResult* _aidl_return) {
237   binder_status_t _aidl_ret_status = STATUS_OK;
238   ::ndk::ScopedAStatus _aidl_status;
239   ::ndk::ScopedAParcel _aidl_in;
240   ::ndk::ScopedAParcel _aidl_out;
241 
242   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
243   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
244 
245   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_request);
246   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
247 
248   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_measureTiming);
249   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
250 
251   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_deadlineNs);
252   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
253 
254   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_loopTimeoutDurationNs);
255   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
256 
257   _aidl_ret_status = AIBinder_transact(
258     asBinderReference().get(),
259     (FIRST_CALL_TRANSACTION + 0 /*executeSynchronously*/),
260     _aidl_in.getR(),
261     _aidl_out.getR(),
262     0
263     #ifdef BINDER_STABILITY_SUPPORT
264     | static_cast<int>(FLAG_PRIVATE_LOCAL)
265     #endif  // BINDER_STABILITY_SUPPORT
266     );
267   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
268     _aidl_status = IPreparedModel::getDefaultImpl()->executeSynchronously(in_request, in_measureTiming, in_deadlineNs, in_loopTimeoutDurationNs, _aidl_return);
269     goto _aidl_status_return;
270   }
271   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
272 
273   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
274   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
275 
276   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
277   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
278   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
279 
280   _aidl_error:
281   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
282   _aidl_status_return:
283   return _aidl_status;
284 }
executeFenced(const::aidl::android::hardware::neuralnetworks::Request & in_request,const std::vector<::ndk::ScopedFileDescriptor> & in_waitFor,bool in_measureTiming,int64_t in_deadlineNs,int64_t in_loopTimeoutDurationNs,int64_t in_durationNs,::aidl::android::hardware::neuralnetworks::FencedExecutionResult * _aidl_return)285 ::ndk::ScopedAStatus BpPreparedModel::executeFenced(const ::aidl::android::hardware::neuralnetworks::Request& in_request, const std::vector<::ndk::ScopedFileDescriptor>& in_waitFor, bool in_measureTiming, int64_t in_deadlineNs, int64_t in_loopTimeoutDurationNs, int64_t in_durationNs, ::aidl::android::hardware::neuralnetworks::FencedExecutionResult* _aidl_return) {
286   binder_status_t _aidl_ret_status = STATUS_OK;
287   ::ndk::ScopedAStatus _aidl_status;
288   ::ndk::ScopedAParcel _aidl_in;
289   ::ndk::ScopedAParcel _aidl_out;
290 
291   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
292   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
293 
294   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_request);
295   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
296 
297   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_waitFor);
298   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
299 
300   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_measureTiming);
301   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
302 
303   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_deadlineNs);
304   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
305 
306   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_loopTimeoutDurationNs);
307   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
308 
309   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_durationNs);
310   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
311 
312   _aidl_ret_status = AIBinder_transact(
313     asBinderReference().get(),
314     (FIRST_CALL_TRANSACTION + 1 /*executeFenced*/),
315     _aidl_in.getR(),
316     _aidl_out.getR(),
317     0
318     #ifdef BINDER_STABILITY_SUPPORT
319     | static_cast<int>(FLAG_PRIVATE_LOCAL)
320     #endif  // BINDER_STABILITY_SUPPORT
321     );
322   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
323     _aidl_status = IPreparedModel::getDefaultImpl()->executeFenced(in_request, in_waitFor, in_measureTiming, in_deadlineNs, in_loopTimeoutDurationNs, in_durationNs, _aidl_return);
324     goto _aidl_status_return;
325   }
326   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
327 
328   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
329   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
330 
331   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
332   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
333   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
334 
335   _aidl_error:
336   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
337   _aidl_status_return:
338   return _aidl_status;
339 }
configureExecutionBurst(std::shared_ptr<::aidl::android::hardware::neuralnetworks::IBurst> * _aidl_return)340 ::ndk::ScopedAStatus BpPreparedModel::configureExecutionBurst(std::shared_ptr<::aidl::android::hardware::neuralnetworks::IBurst>* _aidl_return) {
341   binder_status_t _aidl_ret_status = STATUS_OK;
342   ::ndk::ScopedAStatus _aidl_status;
343   ::ndk::ScopedAParcel _aidl_in;
344   ::ndk::ScopedAParcel _aidl_out;
345 
346   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
347   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
348 
349   _aidl_ret_status = AIBinder_transact(
350     asBinderReference().get(),
351     (FIRST_CALL_TRANSACTION + 2 /*configureExecutionBurst*/),
352     _aidl_in.getR(),
353     _aidl_out.getR(),
354     0
355     #ifdef BINDER_STABILITY_SUPPORT
356     | static_cast<int>(FLAG_PRIVATE_LOCAL)
357     #endif  // BINDER_STABILITY_SUPPORT
358     );
359   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
360     _aidl_status = IPreparedModel::getDefaultImpl()->configureExecutionBurst(_aidl_return);
361     goto _aidl_status_return;
362   }
363   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
364 
365   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
366   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
367 
368   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
369   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
370   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
371 
372   _aidl_error:
373   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
374   _aidl_status_return:
375   return _aidl_status;
376 }
createReusableExecution(const::aidl::android::hardware::neuralnetworks::Request & in_request,const::aidl::android::hardware::neuralnetworks::ExecutionConfig & in_config,std::shared_ptr<::aidl::android::hardware::neuralnetworks::IExecution> * _aidl_return)377 ::ndk::ScopedAStatus BpPreparedModel::createReusableExecution(const ::aidl::android::hardware::neuralnetworks::Request& in_request, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& in_config, std::shared_ptr<::aidl::android::hardware::neuralnetworks::IExecution>* _aidl_return) {
378   binder_status_t _aidl_ret_status = STATUS_OK;
379   ::ndk::ScopedAStatus _aidl_status;
380   ::ndk::ScopedAParcel _aidl_in;
381   ::ndk::ScopedAParcel _aidl_out;
382 
383   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
384   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
385 
386   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_request);
387   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
388 
389   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_config);
390   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
391 
392   _aidl_ret_status = AIBinder_transact(
393     asBinderReference().get(),
394     (FIRST_CALL_TRANSACTION + 3 /*createReusableExecution*/),
395     _aidl_in.getR(),
396     _aidl_out.getR(),
397     0
398     #ifdef BINDER_STABILITY_SUPPORT
399     | static_cast<int>(FLAG_PRIVATE_LOCAL)
400     #endif  // BINDER_STABILITY_SUPPORT
401     );
402   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
403     _aidl_status = IPreparedModel::getDefaultImpl()->createReusableExecution(in_request, in_config, _aidl_return);
404     goto _aidl_status_return;
405   }
406   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
407 
408   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
409   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
410 
411   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
412   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
413   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
414 
415   _aidl_error:
416   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
417   _aidl_status_return:
418   return _aidl_status;
419 }
executeSynchronouslyWithConfig(const::aidl::android::hardware::neuralnetworks::Request & in_request,const::aidl::android::hardware::neuralnetworks::ExecutionConfig & in_config,int64_t in_deadlineNs,::aidl::android::hardware::neuralnetworks::ExecutionResult * _aidl_return)420 ::ndk::ScopedAStatus BpPreparedModel::executeSynchronouslyWithConfig(const ::aidl::android::hardware::neuralnetworks::Request& in_request, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& in_config, int64_t in_deadlineNs, ::aidl::android::hardware::neuralnetworks::ExecutionResult* _aidl_return) {
421   binder_status_t _aidl_ret_status = STATUS_OK;
422   ::ndk::ScopedAStatus _aidl_status;
423   ::ndk::ScopedAParcel _aidl_in;
424   ::ndk::ScopedAParcel _aidl_out;
425 
426   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
427   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
428 
429   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_request);
430   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
431 
432   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_config);
433   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
434 
435   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_deadlineNs);
436   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
437 
438   _aidl_ret_status = AIBinder_transact(
439     asBinderReference().get(),
440     (FIRST_CALL_TRANSACTION + 4 /*executeSynchronouslyWithConfig*/),
441     _aidl_in.getR(),
442     _aidl_out.getR(),
443     0
444     #ifdef BINDER_STABILITY_SUPPORT
445     | static_cast<int>(FLAG_PRIVATE_LOCAL)
446     #endif  // BINDER_STABILITY_SUPPORT
447     );
448   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
449     _aidl_status = IPreparedModel::getDefaultImpl()->executeSynchronouslyWithConfig(in_request, in_config, in_deadlineNs, _aidl_return);
450     goto _aidl_status_return;
451   }
452   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
453 
454   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
455   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
456 
457   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
458   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
459   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
460 
461   _aidl_error:
462   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
463   _aidl_status_return:
464   return _aidl_status;
465 }
executeFencedWithConfig(const::aidl::android::hardware::neuralnetworks::Request & in_request,const std::vector<::ndk::ScopedFileDescriptor> & in_waitFor,const::aidl::android::hardware::neuralnetworks::ExecutionConfig & in_config,int64_t in_deadlineNs,int64_t in_durationNs,::aidl::android::hardware::neuralnetworks::FencedExecutionResult * _aidl_return)466 ::ndk::ScopedAStatus BpPreparedModel::executeFencedWithConfig(const ::aidl::android::hardware::neuralnetworks::Request& in_request, const std::vector<::ndk::ScopedFileDescriptor>& in_waitFor, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& in_config, int64_t in_deadlineNs, int64_t in_durationNs, ::aidl::android::hardware::neuralnetworks::FencedExecutionResult* _aidl_return) {
467   binder_status_t _aidl_ret_status = STATUS_OK;
468   ::ndk::ScopedAStatus _aidl_status;
469   ::ndk::ScopedAParcel _aidl_in;
470   ::ndk::ScopedAParcel _aidl_out;
471 
472   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
473   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
474 
475   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_request);
476   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
477 
478   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_waitFor);
479   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
480 
481   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_config);
482   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
483 
484   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_deadlineNs);
485   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
486 
487   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_durationNs);
488   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
489 
490   _aidl_ret_status = AIBinder_transact(
491     asBinderReference().get(),
492     (FIRST_CALL_TRANSACTION + 5 /*executeFencedWithConfig*/),
493     _aidl_in.getR(),
494     _aidl_out.getR(),
495     0
496     #ifdef BINDER_STABILITY_SUPPORT
497     | static_cast<int>(FLAG_PRIVATE_LOCAL)
498     #endif  // BINDER_STABILITY_SUPPORT
499     );
500   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
501     _aidl_status = IPreparedModel::getDefaultImpl()->executeFencedWithConfig(in_request, in_waitFor, in_config, in_deadlineNs, in_durationNs, _aidl_return);
502     goto _aidl_status_return;
503   }
504   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
505 
506   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
507   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
508 
509   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
510   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
511   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
512 
513   _aidl_error:
514   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
515   _aidl_status_return:
516   return _aidl_status;
517 }
getInterfaceVersion(int32_t * _aidl_return)518 ::ndk::ScopedAStatus BpPreparedModel::getInterfaceVersion(int32_t* _aidl_return) {
519   binder_status_t _aidl_ret_status = STATUS_OK;
520   ::ndk::ScopedAStatus _aidl_status;
521   if (_aidl_cached_version != -1) {
522     *_aidl_return = _aidl_cached_version;
523     _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
524     return _aidl_status;
525   }
526   ::ndk::ScopedAParcel _aidl_in;
527   ::ndk::ScopedAParcel _aidl_out;
528 
529   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
530   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
531 
532   _aidl_ret_status = AIBinder_transact(
533     asBinderReference().get(),
534     (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/),
535     _aidl_in.getR(),
536     _aidl_out.getR(),
537     0
538     #ifdef BINDER_STABILITY_SUPPORT
539     | static_cast<int>(FLAG_PRIVATE_LOCAL)
540     #endif  // BINDER_STABILITY_SUPPORT
541     );
542   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
543     _aidl_status = IPreparedModel::getDefaultImpl()->getInterfaceVersion(_aidl_return);
544     goto _aidl_status_return;
545   }
546   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
547 
548   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
549   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
550 
551   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
552   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
553   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
554 
555   _aidl_cached_version = *_aidl_return;
556   _aidl_error:
557   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
558   _aidl_status_return:
559   return _aidl_status;
560 }
getInterfaceHash(std::string * _aidl_return)561 ::ndk::ScopedAStatus BpPreparedModel::getInterfaceHash(std::string* _aidl_return) {
562   binder_status_t _aidl_ret_status = STATUS_OK;
563   ::ndk::ScopedAStatus _aidl_status;
564   const std::lock_guard<std::mutex> lock(_aidl_cached_hash_mutex);
565   if (_aidl_cached_hash != "-1") {
566     *_aidl_return = _aidl_cached_hash;
567     _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
568     return _aidl_status;
569   }
570   ::ndk::ScopedAParcel _aidl_in;
571   ::ndk::ScopedAParcel _aidl_out;
572 
573   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
574   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
575 
576   _aidl_ret_status = AIBinder_transact(
577     asBinderReference().get(),
578     (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/),
579     _aidl_in.getR(),
580     _aidl_out.getR(),
581     0
582     #ifdef BINDER_STABILITY_SUPPORT
583     | static_cast<int>(FLAG_PRIVATE_LOCAL)
584     #endif  // BINDER_STABILITY_SUPPORT
585     );
586   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IPreparedModel::getDefaultImpl()) {
587     _aidl_status = IPreparedModel::getDefaultImpl()->getInterfaceHash(_aidl_return);
588     goto _aidl_status_return;
589   }
590   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
591 
592   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
593   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
594 
595   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
596   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
597   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
598 
599   _aidl_cached_hash = *_aidl_return;
600   _aidl_error:
601   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
602   _aidl_status_return:
603   return _aidl_status;
604 }
605 // Source for BnPreparedModel
BnPreparedModel()606 BnPreparedModel::BnPreparedModel() {}
~BnPreparedModel()607 BnPreparedModel::~BnPreparedModel() {}
createBinder()608 ::ndk::SpAIBinder BnPreparedModel::createBinder() {
609   AIBinder* binder = AIBinder_new(_g_aidl_android_hardware_neuralnetworks_IPreparedModel_clazz, static_cast<void*>(this));
610   #ifdef BINDER_STABILITY_SUPPORT
611   AIBinder_markVintfStability(binder);
612   #endif  // BINDER_STABILITY_SUPPORT
613   return ::ndk::SpAIBinder(binder);
614 }
getInterfaceVersion(int32_t * _aidl_return)615 ::ndk::ScopedAStatus BnPreparedModel::getInterfaceVersion(int32_t* _aidl_return) {
616   *_aidl_return = IPreparedModel::version;
617   return ::ndk::ScopedAStatus(AStatus_newOk());
618 }
getInterfaceHash(std::string * _aidl_return)619 ::ndk::ScopedAStatus BnPreparedModel::getInterfaceHash(std::string* _aidl_return) {
620   *_aidl_return = IPreparedModel::hash;
621   return ::ndk::ScopedAStatus(AStatus_newOk());
622 }
623 // Source for IPreparedModel
624 const char* IPreparedModel::descriptor = "android.hardware.neuralnetworks.IPreparedModel";
IPreparedModel()625 IPreparedModel::IPreparedModel() {}
~IPreparedModel()626 IPreparedModel::~IPreparedModel() {}
627 
628 
fromBinder(const::ndk::SpAIBinder & binder)629 std::shared_ptr<IPreparedModel> IPreparedModel::fromBinder(const ::ndk::SpAIBinder& binder) {
630   if (!AIBinder_associateClass(binder.get(), _g_aidl_android_hardware_neuralnetworks_IPreparedModel_clazz)) {
631     #if __ANDROID_API__ >= 31
632     const AIBinder_Class* originalClass = AIBinder_getClass(binder.get());
633     if (originalClass == nullptr) return nullptr;
634     if (0 == strcmp(AIBinder_Class_getDescriptor(originalClass), descriptor)) {
635       return ::ndk::SharedRefBase::make<BpPreparedModel>(binder);
636     }
637     #endif
638     return nullptr;
639   }
640   std::shared_ptr<::ndk::ICInterface> interface = ::ndk::ICInterface::asInterface(binder.get());
641   if (interface) {
642     return std::static_pointer_cast<IPreparedModel>(interface);
643   }
644   return ::ndk::SharedRefBase::make<BpPreparedModel>(binder);
645 }
646 
writeToParcel(AParcel * parcel,const std::shared_ptr<IPreparedModel> & instance)647 binder_status_t IPreparedModel::writeToParcel(AParcel* parcel, const std::shared_ptr<IPreparedModel>& instance) {
648   return AParcel_writeStrongBinder(parcel, instance ? instance->asBinder().get() : nullptr);
649 }
readFromParcel(const AParcel * parcel,std::shared_ptr<IPreparedModel> * instance)650 binder_status_t IPreparedModel::readFromParcel(const AParcel* parcel, std::shared_ptr<IPreparedModel>* instance) {
651   ::ndk::SpAIBinder binder;
652   binder_status_t status = AParcel_readStrongBinder(parcel, binder.getR());
653   if (status != STATUS_OK) return status;
654   *instance = IPreparedModel::fromBinder(binder);
655   return STATUS_OK;
656 }
setDefaultImpl(const std::shared_ptr<IPreparedModel> & impl)657 bool IPreparedModel::setDefaultImpl(const std::shared_ptr<IPreparedModel>& impl) {
658   // Only one user of this interface can use this function
659   // at a time. This is a heuristic to detect if two different
660   // users in the same process use this function.
661   assert(!IPreparedModel::default_impl);
662   if (impl) {
663     IPreparedModel::default_impl = impl;
664     return true;
665   }
666   return false;
667 }
getDefaultImpl()668 const std::shared_ptr<IPreparedModel>& IPreparedModel::getDefaultImpl() {
669   return IPreparedModel::default_impl;
670 }
671 std::shared_ptr<IPreparedModel> IPreparedModel::default_impl = nullptr;
executeSynchronously(const::aidl::android::hardware::neuralnetworks::Request &,bool,int64_t,int64_t,::aidl::android::hardware::neuralnetworks::ExecutionResult *)672 ::ndk::ScopedAStatus IPreparedModelDefault::executeSynchronously(const ::aidl::android::hardware::neuralnetworks::Request& /*in_request*/, bool /*in_measureTiming*/, int64_t /*in_deadlineNs*/, int64_t /*in_loopTimeoutDurationNs*/, ::aidl::android::hardware::neuralnetworks::ExecutionResult* /*_aidl_return*/) {
673   ::ndk::ScopedAStatus _aidl_status;
674   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
675   return _aidl_status;
676 }
executeFenced(const::aidl::android::hardware::neuralnetworks::Request &,const std::vector<::ndk::ScopedFileDescriptor> &,bool,int64_t,int64_t,int64_t,::aidl::android::hardware::neuralnetworks::FencedExecutionResult *)677 ::ndk::ScopedAStatus IPreparedModelDefault::executeFenced(const ::aidl::android::hardware::neuralnetworks::Request& /*in_request*/, const std::vector<::ndk::ScopedFileDescriptor>& /*in_waitFor*/, bool /*in_measureTiming*/, int64_t /*in_deadlineNs*/, int64_t /*in_loopTimeoutDurationNs*/, int64_t /*in_durationNs*/, ::aidl::android::hardware::neuralnetworks::FencedExecutionResult* /*_aidl_return*/) {
678   ::ndk::ScopedAStatus _aidl_status;
679   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
680   return _aidl_status;
681 }
configureExecutionBurst(std::shared_ptr<::aidl::android::hardware::neuralnetworks::IBurst> *)682 ::ndk::ScopedAStatus IPreparedModelDefault::configureExecutionBurst(std::shared_ptr<::aidl::android::hardware::neuralnetworks::IBurst>* /*_aidl_return*/) {
683   ::ndk::ScopedAStatus _aidl_status;
684   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
685   return _aidl_status;
686 }
createReusableExecution(const::aidl::android::hardware::neuralnetworks::Request &,const::aidl::android::hardware::neuralnetworks::ExecutionConfig &,std::shared_ptr<::aidl::android::hardware::neuralnetworks::IExecution> *)687 ::ndk::ScopedAStatus IPreparedModelDefault::createReusableExecution(const ::aidl::android::hardware::neuralnetworks::Request& /*in_request*/, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& /*in_config*/, std::shared_ptr<::aidl::android::hardware::neuralnetworks::IExecution>* /*_aidl_return*/) {
688   ::ndk::ScopedAStatus _aidl_status;
689   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
690   return _aidl_status;
691 }
executeSynchronouslyWithConfig(const::aidl::android::hardware::neuralnetworks::Request &,const::aidl::android::hardware::neuralnetworks::ExecutionConfig &,int64_t,::aidl::android::hardware::neuralnetworks::ExecutionResult *)692 ::ndk::ScopedAStatus IPreparedModelDefault::executeSynchronouslyWithConfig(const ::aidl::android::hardware::neuralnetworks::Request& /*in_request*/, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& /*in_config*/, int64_t /*in_deadlineNs*/, ::aidl::android::hardware::neuralnetworks::ExecutionResult* /*_aidl_return*/) {
693   ::ndk::ScopedAStatus _aidl_status;
694   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
695   return _aidl_status;
696 }
executeFencedWithConfig(const::aidl::android::hardware::neuralnetworks::Request &,const std::vector<::ndk::ScopedFileDescriptor> &,const::aidl::android::hardware::neuralnetworks::ExecutionConfig &,int64_t,int64_t,::aidl::android::hardware::neuralnetworks::FencedExecutionResult *)697 ::ndk::ScopedAStatus IPreparedModelDefault::executeFencedWithConfig(const ::aidl::android::hardware::neuralnetworks::Request& /*in_request*/, const std::vector<::ndk::ScopedFileDescriptor>& /*in_waitFor*/, const ::aidl::android::hardware::neuralnetworks::ExecutionConfig& /*in_config*/, int64_t /*in_deadlineNs*/, int64_t /*in_durationNs*/, ::aidl::android::hardware::neuralnetworks::FencedExecutionResult* /*_aidl_return*/) {
698   ::ndk::ScopedAStatus _aidl_status;
699   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
700   return _aidl_status;
701 }
getInterfaceVersion(int32_t * _aidl_return)702 ::ndk::ScopedAStatus IPreparedModelDefault::getInterfaceVersion(int32_t* _aidl_return) {
703   *_aidl_return = 0;
704   return ::ndk::ScopedAStatus(AStatus_newOk());
705 }
getInterfaceHash(std::string * _aidl_return)706 ::ndk::ScopedAStatus IPreparedModelDefault::getInterfaceHash(std::string* _aidl_return) {
707   *_aidl_return = "";
708   return ::ndk::ScopedAStatus(AStatus_newOk());
709 }
asBinder()710 ::ndk::SpAIBinder IPreparedModelDefault::asBinder() {
711   return ::ndk::SpAIBinder();
712 }
isRemote()713 bool IPreparedModelDefault::isRemote() {
714   return false;
715 }
716 }  // namespace neuralnetworks
717 }  // namespace hardware
718 }  // namespace android
719 }  // namespace aidl
720