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