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