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