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