1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 1 --hash d4c3897135ef9475dee2021ac39a41ae79c7690e -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/media/bufferpool/aidl/android.hardware.media.bufferpool2_interface/2/preprocessed.aidl --ninja -d out/soong/.intermediates/hardware/interfaces/media/c2/aidl/android.hardware.media.c2-V1-ndk-source/gen/staging/android/hardware/media/c2/IComponentStore.cpp.d -h out/soong/.intermediates/hardware/interfaces/media/c2/aidl/android.hardware.media.c2-V1-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/media/c2/aidl/android.hardware.media.c2-V1-ndk-source/gen/staging -Iframeworks/native/aidl/gui -Iframeworks/base/core/java -Nhardware/interfaces/media/c2/aidl/aidl_api/android.hardware.media.c2/1 hardware/interfaces/media/c2/aidl/aidl_api/android.hardware.media.c2/1/android/hardware/media/c2/IComponentStore.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/media/c2/IComponentStore.h"
10 
11 #include <android/binder_parcel_utils.h>
12 #include <aidl/android/hardware/media/bufferpool2/BnAccessor.h>
13 #include <aidl/android/hardware/media/bufferpool2/BnClientManager.h>
14 #include <aidl/android/hardware/media/bufferpool2/BnConnection.h>
15 #include <aidl/android/hardware/media/bufferpool2/BnObserver.h>
16 #include <aidl/android/hardware/media/bufferpool2/BpAccessor.h>
17 #include <aidl/android/hardware/media/bufferpool2/BpClientManager.h>
18 #include <aidl/android/hardware/media/bufferpool2/BpConnection.h>
19 #include <aidl/android/hardware/media/bufferpool2/BpObserver.h>
20 #include <aidl/android/hardware/media/bufferpool2/IAccessor.h>
21 #include <aidl/android/hardware/media/bufferpool2/IClientManager.h>
22 #include <aidl/android/hardware/media/bufferpool2/IConnection.h>
23 #include <aidl/android/hardware/media/bufferpool2/IObserver.h>
24 #include <aidl/android/hardware/media/c2/BnComponent.h>
25 #include <aidl/android/hardware/media/c2/BnComponentInterface.h>
26 #include <aidl/android/hardware/media/c2/BnComponentListener.h>
27 #include <aidl/android/hardware/media/c2/BnComponentStore.h>
28 #include <aidl/android/hardware/media/c2/BnConfigurable.h>
29 #include <aidl/android/hardware/media/c2/BnGraphicBufferAllocator.h>
30 #include <aidl/android/hardware/media/c2/BnInputSink.h>
31 #include <aidl/android/hardware/media/c2/BnInputSurface.h>
32 #include <aidl/android/hardware/media/c2/BnInputSurfaceConnection.h>
33 #include <aidl/android/hardware/media/c2/BnPooledGraphicBufferAllocator.h>
34 #include <aidl/android/hardware/media/c2/BpComponent.h>
35 #include <aidl/android/hardware/media/c2/BpComponentInterface.h>
36 #include <aidl/android/hardware/media/c2/BpComponentListener.h>
37 #include <aidl/android/hardware/media/c2/BpComponentStore.h>
38 #include <aidl/android/hardware/media/c2/BpConfigurable.h>
39 #include <aidl/android/hardware/media/c2/BpGraphicBufferAllocator.h>
40 #include <aidl/android/hardware/media/c2/BpInputSink.h>
41 #include <aidl/android/hardware/media/c2/BpInputSurface.h>
42 #include <aidl/android/hardware/media/c2/BpInputSurfaceConnection.h>
43 #include <aidl/android/hardware/media/c2/BpPooledGraphicBufferAllocator.h>
44 #include <aidl/android/hardware/media/c2/IComponent.h>
45 #include <aidl/android/hardware/media/c2/IComponentInterface.h>
46 #include <aidl/android/hardware/media/c2/IComponentListener.h>
47 #include <aidl/android/hardware/media/c2/IConfigurable.h>
48 #include <aidl/android/hardware/media/c2/IGraphicBufferAllocator.h>
49 #include <aidl/android/hardware/media/c2/IInputSink.h>
50 #include <aidl/android/hardware/media/c2/IInputSurface.h>
51 #include <aidl/android/hardware/media/c2/IInputSurfaceConnection.h>
52 #include <aidl/android/hardware/media/c2/IPooledGraphicBufferAllocator.h>
53 
54 namespace aidl {
55 namespace android {
56 namespace hardware {
57 namespace media {
58 namespace c2 {
_aidl_android_hardware_media_c2_IComponentStore_onTransact(AIBinder * _aidl_binder,transaction_code_t _aidl_code,const AParcel * _aidl_in,AParcel * _aidl_out)59 static binder_status_t _aidl_android_hardware_media_c2_IComponentStore_onTransact(AIBinder* _aidl_binder, transaction_code_t _aidl_code, const AParcel* _aidl_in, AParcel* _aidl_out) {
60   (void)_aidl_in;
61   (void)_aidl_out;
62   binder_status_t _aidl_ret_status = STATUS_UNKNOWN_TRANSACTION;
63   std::shared_ptr<BnComponentStore> _aidl_impl = std::static_pointer_cast<BnComponentStore>(::ndk::ICInterface::asInterface(_aidl_binder));
64   switch (_aidl_code) {
65     case (FIRST_CALL_TRANSACTION + 0 /*copyBuffer*/): {
66       ::aidl::android::hardware::media::c2::Buffer in_src;
67       ::aidl::android::hardware::media::c2::Buffer in_dst;
68 
69       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_src);
70       if (_aidl_ret_status != STATUS_OK) break;
71 
72       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_dst);
73       if (_aidl_ret_status != STATUS_OK) break;
74 
75       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->copyBuffer(in_src, in_dst);
76       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
77       if (_aidl_ret_status != STATUS_OK) break;
78 
79       if (!AStatus_isOk(_aidl_status.get())) break;
80 
81       break;
82     }
83     case (FIRST_CALL_TRANSACTION + 1 /*createComponent*/): {
84       std::string in_name;
85       std::shared_ptr<::aidl::android::hardware::media::c2::IComponentListener> in_listener;
86       std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> in_pool;
87       std::shared_ptr<::aidl::android::hardware::media::c2::IComponent> _aidl_return;
88 
89       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_name);
90       if (_aidl_ret_status != STATUS_OK) break;
91 
92       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_listener);
93       if (_aidl_ret_status != STATUS_OK) break;
94 
95       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_pool);
96       if (_aidl_ret_status != STATUS_OK) break;
97 
98       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->createComponent(in_name, in_listener, in_pool, &_aidl_return);
99       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
100       if (_aidl_ret_status != STATUS_OK) break;
101 
102       if (!AStatus_isOk(_aidl_status.get())) break;
103 
104       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
105       if (_aidl_ret_status != STATUS_OK) break;
106 
107       break;
108     }
109     case (FIRST_CALL_TRANSACTION + 2 /*createInterface*/): {
110       std::string in_name;
111       std::shared_ptr<::aidl::android::hardware::media::c2::IComponentInterface> _aidl_return;
112 
113       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_name);
114       if (_aidl_ret_status != STATUS_OK) break;
115 
116       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->createInterface(in_name, &_aidl_return);
117       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
118       if (_aidl_ret_status != STATUS_OK) break;
119 
120       if (!AStatus_isOk(_aidl_status.get())) break;
121 
122       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
123       if (_aidl_ret_status != STATUS_OK) break;
124 
125       break;
126     }
127     case (FIRST_CALL_TRANSACTION + 3 /*getConfigurable*/): {
128       std::shared_ptr<::aidl::android::hardware::media::c2::IConfigurable> _aidl_return;
129 
130       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getConfigurable(&_aidl_return);
131       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
132       if (_aidl_ret_status != STATUS_OK) break;
133 
134       if (!AStatus_isOk(_aidl_status.get())) break;
135 
136       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
137       if (_aidl_ret_status != STATUS_OK) break;
138 
139       break;
140     }
141     case (FIRST_CALL_TRANSACTION + 4 /*getPoolClientManager*/): {
142       std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> _aidl_return;
143 
144       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getPoolClientManager(&_aidl_return);
145       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
146       if (_aidl_ret_status != STATUS_OK) break;
147 
148       if (!AStatus_isOk(_aidl_status.get())) break;
149 
150       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
151       if (_aidl_ret_status != STATUS_OK) break;
152 
153       break;
154     }
155     case (FIRST_CALL_TRANSACTION + 5 /*getStructDescriptors*/): {
156       std::vector<int32_t> in_indices;
157       std::vector<::aidl::android::hardware::media::c2::StructDescriptor> _aidl_return;
158 
159       _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_indices);
160       if (_aidl_ret_status != STATUS_OK) break;
161 
162       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getStructDescriptors(in_indices, &_aidl_return);
163       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
164       if (_aidl_ret_status != STATUS_OK) break;
165 
166       if (!AStatus_isOk(_aidl_status.get())) break;
167 
168       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
169       if (_aidl_ret_status != STATUS_OK) break;
170 
171       break;
172     }
173     case (FIRST_CALL_TRANSACTION + 6 /*listComponents*/): {
174       std::vector<::aidl::android::hardware::media::c2::IComponentStore::ComponentTraits> _aidl_return;
175 
176       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->listComponents(&_aidl_return);
177       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
178       if (_aidl_ret_status != STATUS_OK) break;
179 
180       if (!AStatus_isOk(_aidl_status.get())) break;
181 
182       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
183       if (_aidl_ret_status != STATUS_OK) break;
184 
185       break;
186     }
187     case (FIRST_CALL_TRANSACTION + 7 /*createInputSurface*/): {
188       std::shared_ptr<::aidl::android::hardware::media::c2::IInputSurface> _aidl_return;
189 
190       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->createInputSurface(&_aidl_return);
191       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
192       if (_aidl_ret_status != STATUS_OK) break;
193 
194       if (!AStatus_isOk(_aidl_status.get())) break;
195 
196       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
197       if (_aidl_ret_status != STATUS_OK) break;
198 
199       break;
200     }
201     case (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/): {
202       int32_t _aidl_return;
203 
204       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceVersion(&_aidl_return);
205       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
206       if (_aidl_ret_status != STATUS_OK) break;
207 
208       if (!AStatus_isOk(_aidl_status.get())) break;
209 
210       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
211       if (_aidl_ret_status != STATUS_OK) break;
212 
213       break;
214     }
215     case (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/): {
216       std::string _aidl_return;
217 
218       ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInterfaceHash(&_aidl_return);
219       _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
220       if (_aidl_ret_status != STATUS_OK) break;
221 
222       if (!AStatus_isOk(_aidl_status.get())) break;
223 
224       _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
225       if (_aidl_ret_status != STATUS_OK) break;
226 
227       break;
228     }
229   }
230   return _aidl_ret_status;
231 }
232 
233 static const char* _g_aidl_android_hardware_media_c2_IComponentStore_clazz_code_to_function[] = { "copyBuffer","createComponent","createInterface","getConfigurable","getPoolClientManager","getStructDescriptors","listComponents","createInputSurface",};
234 static AIBinder_Class* _g_aidl_android_hardware_media_c2_IComponentStore_clazz = ::ndk::ICInterface::defineClass(IComponentStore::descriptor, _aidl_android_hardware_media_c2_IComponentStore_onTransact, _g_aidl_android_hardware_media_c2_IComponentStore_clazz_code_to_function, 8);
235 
BpComponentStore(const::ndk::SpAIBinder & binder)236 BpComponentStore::BpComponentStore(const ::ndk::SpAIBinder& binder) : BpCInterface(binder) {}
~BpComponentStore()237 BpComponentStore::~BpComponentStore() {}
238 
copyBuffer(const::aidl::android::hardware::media::c2::Buffer & in_src,const::aidl::android::hardware::media::c2::Buffer & in_dst)239 ::ndk::ScopedAStatus BpComponentStore::copyBuffer(const ::aidl::android::hardware::media::c2::Buffer& in_src, const ::aidl::android::hardware::media::c2::Buffer& in_dst) {
240   binder_status_t _aidl_ret_status = STATUS_OK;
241   ::ndk::ScopedAStatus _aidl_status;
242   ::ndk::ScopedAParcel _aidl_in;
243   ::ndk::ScopedAParcel _aidl_out;
244 
245   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
246   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
247 
248   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_src);
249   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
250 
251   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_dst);
252   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
253 
254   _aidl_ret_status = AIBinder_transact(
255     asBinderReference().get(),
256     (FIRST_CALL_TRANSACTION + 0 /*copyBuffer*/),
257     _aidl_in.getR(),
258     _aidl_out.getR(),
259     0
260     #ifdef BINDER_STABILITY_SUPPORT
261     | static_cast<int>(FLAG_PRIVATE_LOCAL)
262     #endif  // BINDER_STABILITY_SUPPORT
263     );
264   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
265     _aidl_status = IComponentStore::getDefaultImpl()->copyBuffer(in_src, in_dst);
266     goto _aidl_status_return;
267   }
268   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
269 
270   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
271   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
272 
273   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
274   _aidl_error:
275   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
276   _aidl_status_return:
277   return _aidl_status;
278 }
createComponent(const std::string & in_name,const std::shared_ptr<::aidl::android::hardware::media::c2::IComponentListener> & in_listener,const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> & in_pool,std::shared_ptr<::aidl::android::hardware::media::c2::IComponent> * _aidl_return)279 ::ndk::ScopedAStatus BpComponentStore::createComponent(const std::string& in_name, const std::shared_ptr<::aidl::android::hardware::media::c2::IComponentListener>& in_listener, const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager>& in_pool, std::shared_ptr<::aidl::android::hardware::media::c2::IComponent>* _aidl_return) {
280   binder_status_t _aidl_ret_status = STATUS_OK;
281   ::ndk::ScopedAStatus _aidl_status;
282   ::ndk::ScopedAParcel _aidl_in;
283   ::ndk::ScopedAParcel _aidl_out;
284 
285   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
286   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
287 
288   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_name);
289   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
290 
291   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_listener);
292   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
293 
294   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_pool);
295   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
296 
297   _aidl_ret_status = AIBinder_transact(
298     asBinderReference().get(),
299     (FIRST_CALL_TRANSACTION + 1 /*createComponent*/),
300     _aidl_in.getR(),
301     _aidl_out.getR(),
302     0
303     #ifdef BINDER_STABILITY_SUPPORT
304     | static_cast<int>(FLAG_PRIVATE_LOCAL)
305     #endif  // BINDER_STABILITY_SUPPORT
306     );
307   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
308     _aidl_status = IComponentStore::getDefaultImpl()->createComponent(in_name, in_listener, in_pool, _aidl_return);
309     goto _aidl_status_return;
310   }
311   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
312 
313   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
314   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
315 
316   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
317   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
318   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
319 
320   _aidl_error:
321   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
322   _aidl_status_return:
323   return _aidl_status;
324 }
createInterface(const std::string & in_name,std::shared_ptr<::aidl::android::hardware::media::c2::IComponentInterface> * _aidl_return)325 ::ndk::ScopedAStatus BpComponentStore::createInterface(const std::string& in_name, std::shared_ptr<::aidl::android::hardware::media::c2::IComponentInterface>* _aidl_return) {
326   binder_status_t _aidl_ret_status = STATUS_OK;
327   ::ndk::ScopedAStatus _aidl_status;
328   ::ndk::ScopedAParcel _aidl_in;
329   ::ndk::ScopedAParcel _aidl_out;
330 
331   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
332   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
333 
334   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_name);
335   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
336 
337   _aidl_ret_status = AIBinder_transact(
338     asBinderReference().get(),
339     (FIRST_CALL_TRANSACTION + 2 /*createInterface*/),
340     _aidl_in.getR(),
341     _aidl_out.getR(),
342     0
343     #ifdef BINDER_STABILITY_SUPPORT
344     | static_cast<int>(FLAG_PRIVATE_LOCAL)
345     #endif  // BINDER_STABILITY_SUPPORT
346     );
347   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
348     _aidl_status = IComponentStore::getDefaultImpl()->createInterface(in_name, _aidl_return);
349     goto _aidl_status_return;
350   }
351   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
352 
353   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
354   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
355 
356   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
357   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
358   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
359 
360   _aidl_error:
361   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
362   _aidl_status_return:
363   return _aidl_status;
364 }
getConfigurable(std::shared_ptr<::aidl::android::hardware::media::c2::IConfigurable> * _aidl_return)365 ::ndk::ScopedAStatus BpComponentStore::getConfigurable(std::shared_ptr<::aidl::android::hardware::media::c2::IConfigurable>* _aidl_return) {
366   binder_status_t _aidl_ret_status = STATUS_OK;
367   ::ndk::ScopedAStatus _aidl_status;
368   ::ndk::ScopedAParcel _aidl_in;
369   ::ndk::ScopedAParcel _aidl_out;
370 
371   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
372   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
373 
374   _aidl_ret_status = AIBinder_transact(
375     asBinderReference().get(),
376     (FIRST_CALL_TRANSACTION + 3 /*getConfigurable*/),
377     _aidl_in.getR(),
378     _aidl_out.getR(),
379     0
380     #ifdef BINDER_STABILITY_SUPPORT
381     | static_cast<int>(FLAG_PRIVATE_LOCAL)
382     #endif  // BINDER_STABILITY_SUPPORT
383     );
384   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
385     _aidl_status = IComponentStore::getDefaultImpl()->getConfigurable(_aidl_return);
386     goto _aidl_status_return;
387   }
388   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
389 
390   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
391   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
392 
393   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
394   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
395   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
396 
397   _aidl_error:
398   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
399   _aidl_status_return:
400   return _aidl_status;
401 }
getPoolClientManager(std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> * _aidl_return)402 ::ndk::ScopedAStatus BpComponentStore::getPoolClientManager(std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager>* _aidl_return) {
403   binder_status_t _aidl_ret_status = STATUS_OK;
404   ::ndk::ScopedAStatus _aidl_status;
405   ::ndk::ScopedAParcel _aidl_in;
406   ::ndk::ScopedAParcel _aidl_out;
407 
408   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
409   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
410 
411   _aidl_ret_status = AIBinder_transact(
412     asBinderReference().get(),
413     (FIRST_CALL_TRANSACTION + 4 /*getPoolClientManager*/),
414     _aidl_in.getR(),
415     _aidl_out.getR(),
416     0
417     #ifdef BINDER_STABILITY_SUPPORT
418     | static_cast<int>(FLAG_PRIVATE_LOCAL)
419     #endif  // BINDER_STABILITY_SUPPORT
420     );
421   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
422     _aidl_status = IComponentStore::getDefaultImpl()->getPoolClientManager(_aidl_return);
423     goto _aidl_status_return;
424   }
425   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
426 
427   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
428   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
429 
430   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
431   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
432   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
433 
434   _aidl_error:
435   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
436   _aidl_status_return:
437   return _aidl_status;
438 }
getStructDescriptors(const std::vector<int32_t> & in_indices,std::vector<::aidl::android::hardware::media::c2::StructDescriptor> * _aidl_return)439 ::ndk::ScopedAStatus BpComponentStore::getStructDescriptors(const std::vector<int32_t>& in_indices, std::vector<::aidl::android::hardware::media::c2::StructDescriptor>* _aidl_return) {
440   binder_status_t _aidl_ret_status = STATUS_OK;
441   ::ndk::ScopedAStatus _aidl_status;
442   ::ndk::ScopedAParcel _aidl_in;
443   ::ndk::ScopedAParcel _aidl_out;
444 
445   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
446   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
447 
448   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_indices);
449   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
450 
451   _aidl_ret_status = AIBinder_transact(
452     asBinderReference().get(),
453     (FIRST_CALL_TRANSACTION + 5 /*getStructDescriptors*/),
454     _aidl_in.getR(),
455     _aidl_out.getR(),
456     0
457     #ifdef BINDER_STABILITY_SUPPORT
458     | static_cast<int>(FLAG_PRIVATE_LOCAL)
459     #endif  // BINDER_STABILITY_SUPPORT
460     );
461   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
462     _aidl_status = IComponentStore::getDefaultImpl()->getStructDescriptors(in_indices, _aidl_return);
463     goto _aidl_status_return;
464   }
465   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
466 
467   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
468   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
469 
470   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
471   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
472   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
473 
474   _aidl_error:
475   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
476   _aidl_status_return:
477   return _aidl_status;
478 }
listComponents(std::vector<::aidl::android::hardware::media::c2::IComponentStore::ComponentTraits> * _aidl_return)479 ::ndk::ScopedAStatus BpComponentStore::listComponents(std::vector<::aidl::android::hardware::media::c2::IComponentStore::ComponentTraits>* _aidl_return) {
480   binder_status_t _aidl_ret_status = STATUS_OK;
481   ::ndk::ScopedAStatus _aidl_status;
482   ::ndk::ScopedAParcel _aidl_in;
483   ::ndk::ScopedAParcel _aidl_out;
484 
485   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
486   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
487 
488   _aidl_ret_status = AIBinder_transact(
489     asBinderReference().get(),
490     (FIRST_CALL_TRANSACTION + 6 /*listComponents*/),
491     _aidl_in.getR(),
492     _aidl_out.getR(),
493     0
494     #ifdef BINDER_STABILITY_SUPPORT
495     | static_cast<int>(FLAG_PRIVATE_LOCAL)
496     #endif  // BINDER_STABILITY_SUPPORT
497     );
498   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
499     _aidl_status = IComponentStore::getDefaultImpl()->listComponents(_aidl_return);
500     goto _aidl_status_return;
501   }
502   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
503 
504   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
505   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
506 
507   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
508   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
509   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
510 
511   _aidl_error:
512   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
513   _aidl_status_return:
514   return _aidl_status;
515 }
createInputSurface(std::shared_ptr<::aidl::android::hardware::media::c2::IInputSurface> * _aidl_return)516 ::ndk::ScopedAStatus BpComponentStore::createInputSurface(std::shared_ptr<::aidl::android::hardware::media::c2::IInputSurface>* _aidl_return) {
517   binder_status_t _aidl_ret_status = STATUS_OK;
518   ::ndk::ScopedAStatus _aidl_status;
519   ::ndk::ScopedAParcel _aidl_in;
520   ::ndk::ScopedAParcel _aidl_out;
521 
522   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
523   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
524 
525   _aidl_ret_status = AIBinder_transact(
526     asBinderReference().get(),
527     (FIRST_CALL_TRANSACTION + 7 /*createInputSurface*/),
528     _aidl_in.getR(),
529     _aidl_out.getR(),
530     0
531     #ifdef BINDER_STABILITY_SUPPORT
532     | static_cast<int>(FLAG_PRIVATE_LOCAL)
533     #endif  // BINDER_STABILITY_SUPPORT
534     );
535   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
536     _aidl_status = IComponentStore::getDefaultImpl()->createInputSurface(_aidl_return);
537     goto _aidl_status_return;
538   }
539   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
540 
541   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
542   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
543 
544   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
545   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
546   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
547 
548   _aidl_error:
549   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
550   _aidl_status_return:
551   return _aidl_status;
552 }
getInterfaceVersion(int32_t * _aidl_return)553 ::ndk::ScopedAStatus BpComponentStore::getInterfaceVersion(int32_t* _aidl_return) {
554   binder_status_t _aidl_ret_status = STATUS_OK;
555   ::ndk::ScopedAStatus _aidl_status;
556   if (_aidl_cached_version != -1) {
557     *_aidl_return = _aidl_cached_version;
558     _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
559     return _aidl_status;
560   }
561   ::ndk::ScopedAParcel _aidl_in;
562   ::ndk::ScopedAParcel _aidl_out;
563 
564   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
565   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
566 
567   _aidl_ret_status = AIBinder_transact(
568     asBinderReference().get(),
569     (FIRST_CALL_TRANSACTION + 16777214 /*getInterfaceVersion*/),
570     _aidl_in.getR(),
571     _aidl_out.getR(),
572     0
573     #ifdef BINDER_STABILITY_SUPPORT
574     | static_cast<int>(FLAG_PRIVATE_LOCAL)
575     #endif  // BINDER_STABILITY_SUPPORT
576     );
577   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
578     _aidl_status = IComponentStore::getDefaultImpl()->getInterfaceVersion(_aidl_return);
579     goto _aidl_status_return;
580   }
581   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
582 
583   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
584   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
585 
586   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
587   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
588   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
589 
590   _aidl_cached_version = *_aidl_return;
591   _aidl_error:
592   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
593   _aidl_status_return:
594   return _aidl_status;
595 }
getInterfaceHash(std::string * _aidl_return)596 ::ndk::ScopedAStatus BpComponentStore::getInterfaceHash(std::string* _aidl_return) {
597   binder_status_t _aidl_ret_status = STATUS_OK;
598   ::ndk::ScopedAStatus _aidl_status;
599   const std::lock_guard<std::mutex> lock(_aidl_cached_hash_mutex);
600   if (_aidl_cached_hash != "-1") {
601     *_aidl_return = _aidl_cached_hash;
602     _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
603     return _aidl_status;
604   }
605   ::ndk::ScopedAParcel _aidl_in;
606   ::ndk::ScopedAParcel _aidl_out;
607 
608   _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
609   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
610 
611   _aidl_ret_status = AIBinder_transact(
612     asBinderReference().get(),
613     (FIRST_CALL_TRANSACTION + 16777213 /*getInterfaceHash*/),
614     _aidl_in.getR(),
615     _aidl_out.getR(),
616     0
617     #ifdef BINDER_STABILITY_SUPPORT
618     | static_cast<int>(FLAG_PRIVATE_LOCAL)
619     #endif  // BINDER_STABILITY_SUPPORT
620     );
621   if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IComponentStore::getDefaultImpl()) {
622     _aidl_status = IComponentStore::getDefaultImpl()->getInterfaceHash(_aidl_return);
623     goto _aidl_status_return;
624   }
625   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
626 
627   _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
628   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
629 
630   if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
631   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
632   if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
633 
634   _aidl_cached_hash = *_aidl_return;
635   _aidl_error:
636   _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
637   _aidl_status_return:
638   return _aidl_status;
639 }
640 // Source for BnComponentStore
BnComponentStore()641 BnComponentStore::BnComponentStore() {}
~BnComponentStore()642 BnComponentStore::~BnComponentStore() {}
createBinder()643 ::ndk::SpAIBinder BnComponentStore::createBinder() {
644   AIBinder* binder = AIBinder_new(_g_aidl_android_hardware_media_c2_IComponentStore_clazz, static_cast<void*>(this));
645   #ifdef BINDER_STABILITY_SUPPORT
646   AIBinder_markVintfStability(binder);
647   #endif  // BINDER_STABILITY_SUPPORT
648   return ::ndk::SpAIBinder(binder);
649 }
getInterfaceVersion(int32_t * _aidl_return)650 ::ndk::ScopedAStatus BnComponentStore::getInterfaceVersion(int32_t* _aidl_return) {
651   *_aidl_return = IComponentStore::version;
652   return ::ndk::ScopedAStatus(AStatus_newOk());
653 }
getInterfaceHash(std::string * _aidl_return)654 ::ndk::ScopedAStatus BnComponentStore::getInterfaceHash(std::string* _aidl_return) {
655   *_aidl_return = IComponentStore::hash;
656   return ::ndk::ScopedAStatus(AStatus_newOk());
657 }
658 // Source for IComponentStore
659 const char* IComponentStore::descriptor = "android.hardware.media.c2.IComponentStore";
IComponentStore()660 IComponentStore::IComponentStore() {}
~IComponentStore()661 IComponentStore::~IComponentStore() {}
662 
663 
fromBinder(const::ndk::SpAIBinder & binder)664 std::shared_ptr<IComponentStore> IComponentStore::fromBinder(const ::ndk::SpAIBinder& binder) {
665   if (!AIBinder_associateClass(binder.get(), _g_aidl_android_hardware_media_c2_IComponentStore_clazz)) {
666     #if __ANDROID_API__ >= 31
667     const AIBinder_Class* originalClass = AIBinder_getClass(binder.get());
668     if (originalClass == nullptr) return nullptr;
669     if (0 == strcmp(AIBinder_Class_getDescriptor(originalClass), descriptor)) {
670       return ::ndk::SharedRefBase::make<BpComponentStore>(binder);
671     }
672     #endif
673     return nullptr;
674   }
675   std::shared_ptr<::ndk::ICInterface> interface = ::ndk::ICInterface::asInterface(binder.get());
676   if (interface) {
677     return std::static_pointer_cast<IComponentStore>(interface);
678   }
679   return ::ndk::SharedRefBase::make<BpComponentStore>(binder);
680 }
681 
writeToParcel(AParcel * parcel,const std::shared_ptr<IComponentStore> & instance)682 binder_status_t IComponentStore::writeToParcel(AParcel* parcel, const std::shared_ptr<IComponentStore>& instance) {
683   return AParcel_writeStrongBinder(parcel, instance ? instance->asBinder().get() : nullptr);
684 }
readFromParcel(const AParcel * parcel,std::shared_ptr<IComponentStore> * instance)685 binder_status_t IComponentStore::readFromParcel(const AParcel* parcel, std::shared_ptr<IComponentStore>* instance) {
686   ::ndk::SpAIBinder binder;
687   binder_status_t status = AParcel_readStrongBinder(parcel, binder.getR());
688   if (status != STATUS_OK) return status;
689   *instance = IComponentStore::fromBinder(binder);
690   return STATUS_OK;
691 }
setDefaultImpl(const std::shared_ptr<IComponentStore> & impl)692 bool IComponentStore::setDefaultImpl(const std::shared_ptr<IComponentStore>& impl) {
693   // Only one user of this interface can use this function
694   // at a time. This is a heuristic to detect if two different
695   // users in the same process use this function.
696   assert(!IComponentStore::default_impl);
697   if (impl) {
698     IComponentStore::default_impl = impl;
699     return true;
700   }
701   return false;
702 }
getDefaultImpl()703 const std::shared_ptr<IComponentStore>& IComponentStore::getDefaultImpl() {
704   return IComponentStore::default_impl;
705 }
706 std::shared_ptr<IComponentStore> IComponentStore::default_impl = nullptr;
copyBuffer(const::aidl::android::hardware::media::c2::Buffer &,const::aidl::android::hardware::media::c2::Buffer &)707 ::ndk::ScopedAStatus IComponentStoreDefault::copyBuffer(const ::aidl::android::hardware::media::c2::Buffer& /*in_src*/, const ::aidl::android::hardware::media::c2::Buffer& /*in_dst*/) {
708   ::ndk::ScopedAStatus _aidl_status;
709   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
710   return _aidl_status;
711 }
createComponent(const std::string &,const std::shared_ptr<::aidl::android::hardware::media::c2::IComponentListener> &,const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> &,std::shared_ptr<::aidl::android::hardware::media::c2::IComponent> *)712 ::ndk::ScopedAStatus IComponentStoreDefault::createComponent(const std::string& /*in_name*/, const std::shared_ptr<::aidl::android::hardware::media::c2::IComponentListener>& /*in_listener*/, const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager>& /*in_pool*/, std::shared_ptr<::aidl::android::hardware::media::c2::IComponent>* /*_aidl_return*/) {
713   ::ndk::ScopedAStatus _aidl_status;
714   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
715   return _aidl_status;
716 }
createInterface(const std::string &,std::shared_ptr<::aidl::android::hardware::media::c2::IComponentInterface> *)717 ::ndk::ScopedAStatus IComponentStoreDefault::createInterface(const std::string& /*in_name*/, std::shared_ptr<::aidl::android::hardware::media::c2::IComponentInterface>* /*_aidl_return*/) {
718   ::ndk::ScopedAStatus _aidl_status;
719   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
720   return _aidl_status;
721 }
getConfigurable(std::shared_ptr<::aidl::android::hardware::media::c2::IConfigurable> *)722 ::ndk::ScopedAStatus IComponentStoreDefault::getConfigurable(std::shared_ptr<::aidl::android::hardware::media::c2::IConfigurable>* /*_aidl_return*/) {
723   ::ndk::ScopedAStatus _aidl_status;
724   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
725   return _aidl_status;
726 }
getPoolClientManager(std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager> *)727 ::ndk::ScopedAStatus IComponentStoreDefault::getPoolClientManager(std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IClientManager>* /*_aidl_return*/) {
728   ::ndk::ScopedAStatus _aidl_status;
729   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
730   return _aidl_status;
731 }
getStructDescriptors(const std::vector<int32_t> &,std::vector<::aidl::android::hardware::media::c2::StructDescriptor> *)732 ::ndk::ScopedAStatus IComponentStoreDefault::getStructDescriptors(const std::vector<int32_t>& /*in_indices*/, std::vector<::aidl::android::hardware::media::c2::StructDescriptor>* /*_aidl_return*/) {
733   ::ndk::ScopedAStatus _aidl_status;
734   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
735   return _aidl_status;
736 }
listComponents(std::vector<::aidl::android::hardware::media::c2::IComponentStore::ComponentTraits> *)737 ::ndk::ScopedAStatus IComponentStoreDefault::listComponents(std::vector<::aidl::android::hardware::media::c2::IComponentStore::ComponentTraits>* /*_aidl_return*/) {
738   ::ndk::ScopedAStatus _aidl_status;
739   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
740   return _aidl_status;
741 }
createInputSurface(std::shared_ptr<::aidl::android::hardware::media::c2::IInputSurface> *)742 ::ndk::ScopedAStatus IComponentStoreDefault::createInputSurface(std::shared_ptr<::aidl::android::hardware::media::c2::IInputSurface>* /*_aidl_return*/) {
743   ::ndk::ScopedAStatus _aidl_status;
744   _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
745   return _aidl_status;
746 }
getInterfaceVersion(int32_t * _aidl_return)747 ::ndk::ScopedAStatus IComponentStoreDefault::getInterfaceVersion(int32_t* _aidl_return) {
748   *_aidl_return = 0;
749   return ::ndk::ScopedAStatus(AStatus_newOk());
750 }
getInterfaceHash(std::string * _aidl_return)751 ::ndk::ScopedAStatus IComponentStoreDefault::getInterfaceHash(std::string* _aidl_return) {
752   *_aidl_return = "";
753   return ::ndk::ScopedAStatus(AStatus_newOk());
754 }
asBinder()755 ::ndk::SpAIBinder IComponentStoreDefault::asBinder() {
756   return ::ndk::SpAIBinder();
757 }
isRemote()758 bool IComponentStoreDefault::isRemote() {
759   return false;
760 }
761 }  // namespace c2
762 }  // namespace media
763 }  // namespace hardware
764 }  // namespace android
765 }  // namespace aidl
766 namespace aidl {
767 namespace android {
768 namespace hardware {
769 namespace media {
770 namespace c2 {
771 const char* IComponentStore::ComponentTraits::descriptor = "android.hardware.media.c2.IComponentStore.ComponentTraits";
772 
readFromParcel(const AParcel * _aidl_parcel)773 binder_status_t IComponentStore::ComponentTraits::readFromParcel(const AParcel* _aidl_parcel) {
774   binder_status_t _aidl_ret_status = STATUS_OK;
775   int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel);
776   int32_t _aidl_parcelable_size = 0;
777   _aidl_ret_status = AParcel_readInt32(_aidl_parcel, &_aidl_parcelable_size);
778   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
779 
780   if (_aidl_parcelable_size < 4) return STATUS_BAD_VALUE;
781   if (_aidl_start_pos > INT32_MAX - _aidl_parcelable_size) return STATUS_BAD_VALUE;
782   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
783     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
784     return _aidl_ret_status;
785   }
786   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &name);
787   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
788 
789   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
790     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
791     return _aidl_ret_status;
792   }
793   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &domain);
794   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
795 
796   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
797     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
798     return _aidl_ret_status;
799   }
800   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &kind);
801   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
802 
803   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
804     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
805     return _aidl_ret_status;
806   }
807   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &rank);
808   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
809 
810   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
811     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
812     return _aidl_ret_status;
813   }
814   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &mediaType);
815   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
816 
817   if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
818     AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
819     return _aidl_ret_status;
820   }
821   _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &aliases);
822   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
823 
824   AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
825   return _aidl_ret_status;
826 }
writeToParcel(AParcel * _aidl_parcel) const827 binder_status_t IComponentStore::ComponentTraits::writeToParcel(AParcel* _aidl_parcel) const {
828   binder_status_t _aidl_ret_status;
829   int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel);
830   _aidl_ret_status = AParcel_writeInt32(_aidl_parcel, 0);
831   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
832 
833   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, name);
834   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
835 
836   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, domain);
837   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
838 
839   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, kind);
840   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
841 
842   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, rank);
843   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
844 
845   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, mediaType);
846   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
847 
848   _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, aliases);
849   if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
850 
851   int32_t _aidl_end_pos = AParcel_getDataPosition(_aidl_parcel);
852   AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos);
853   AParcel_writeInt32(_aidl_parcel, _aidl_end_pos - _aidl_start_pos);
854   AParcel_setDataPosition(_aidl_parcel, _aidl_end_pos);
855   return _aidl_ret_status;
856 }
857 
858 }  // namespace c2
859 }  // namespace media
860 }  // namespace hardware
861 }  // namespace android
862 }  // namespace aidl
863