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