1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 2 --hash c12818c51418fbfc76f1b81eba6678d75cf526c1 -t --stability vintf --min_sdk_version 29 -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/fmq/aidl/android.hardware.common.fmq_interface/1/preprocessed.aidl --ninja -d out/soong/.intermediates/hardware/interfaces/media/bufferpool/aidl/android.hardware.media.bufferpool2-V2-ndk-source/gen/staging/android/hardware/media/bufferpool2/IAccessor.cpp.d -h out/soong/.intermediates/hardware/interfaces/media/bufferpool/aidl/android.hardware.media.bufferpool2-V2-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/media/bufferpool/aidl/android.hardware.media.bufferpool2-V2-ndk-source/gen/staging -Iframeworks/base/core/java -Nhardware/interfaces/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2 hardware/interfaces/media/bufferpool/aidl/aidl_api/android.hardware.media.bufferpool2/2/android/hardware/media/bufferpool2/IAccessor.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 #pragma once
10 
11 #include <cstdint>
12 #include <memory>
13 #include <optional>
14 #include <string>
15 #include <vector>
16 #include <android/binder_interface_utils.h>
17 #include <android/binder_parcelable_utils.h>
18 #include <android/binder_to_string.h>
19 #include <aidl/android/hardware/common/fmq/MQDescriptor.h>
20 #include <aidl/android/hardware/common/fmq/SynchronizedReadWrite.h>
21 #include <aidl/android/hardware/common/fmq/UnsynchronizedWrite.h>
22 #include <aidl/android/hardware/media/bufferpool2/BufferInvalidationMessage.h>
23 #include <aidl/android/hardware/media/bufferpool2/BufferStatusMessage.h>
24 #include <aidl/android/hardware/media/bufferpool2/IAccessor.h>
25 #include <aidl/android/hardware/media/bufferpool2/IConnection.h>
26 #include <aidl/android/hardware/media/bufferpool2/IObserver.h>
27 #ifdef BINDER_STABILITY_SUPPORT
28 #include <android/binder_stability.h>
29 #endif  // BINDER_STABILITY_SUPPORT
30 
31 namespace aidl::android::hardware::common::fmq {
32 template <typename T, typename Flavor>
33 class MQDescriptor;
34 }  // namespace aidl::android::hardware::common::fmq
35 namespace aidl::android::hardware::media::bufferpool2 {
36 class BufferInvalidationMessage;
37 class BufferStatusMessage;
38 class IConnection;
39 class IObserver;
40 }  // namespace aidl::android::hardware::media::bufferpool2
41 namespace aidl {
42 namespace android {
43 namespace hardware {
44 namespace media {
45 namespace bufferpool2 {
46 class IAccessorDelegator;
47 
48 class IAccessor : public ::ndk::ICInterface {
49 public:
50   typedef IAccessorDelegator DefaultDelegator;
51   static const char* descriptor;
52   IAccessor();
53   virtual ~IAccessor();
54 
55   class ConnectionInfo {
56   public:
57     typedef std::false_type fixed_size;
58     static const char* descriptor;
59 
60     std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IConnection> connection;
61     int64_t connectionId = 0L;
62     int32_t msgId = 0;
63     ::aidl::android::hardware::common::fmq::MQDescriptor<::aidl::android::hardware::media::bufferpool2::BufferStatusMessage, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite> toFmqDesc;
64     ::aidl::android::hardware::common::fmq::MQDescriptor<::aidl::android::hardware::media::bufferpool2::BufferInvalidationMessage, ::aidl::android::hardware::common::fmq::UnsynchronizedWrite> fromFmqDesc;
65 
66     binder_status_t readFromParcel(const AParcel* parcel);
67     binder_status_t writeToParcel(AParcel* parcel) const;
68 
69     inline bool operator==(const ConnectionInfo& _rhs) const {
70       return std::tie(connection, connectionId, msgId, toFmqDesc, fromFmqDesc) == std::tie(_rhs.connection, _rhs.connectionId, _rhs.msgId, _rhs.toFmqDesc, _rhs.fromFmqDesc);
71     }
72     inline bool operator<(const ConnectionInfo& _rhs) const {
73       return std::tie(connection, connectionId, msgId, toFmqDesc, fromFmqDesc) < std::tie(_rhs.connection, _rhs.connectionId, _rhs.msgId, _rhs.toFmqDesc, _rhs.fromFmqDesc);
74     }
75     inline bool operator!=(const ConnectionInfo& _rhs) const {
76       return !(*this == _rhs);
77     }
78     inline bool operator>(const ConnectionInfo& _rhs) const {
79       return _rhs < *this;
80     }
81     inline bool operator>=(const ConnectionInfo& _rhs) const {
82       return !(*this < _rhs);
83     }
84     inline bool operator<=(const ConnectionInfo& _rhs) const {
85       return !(_rhs < *this);
86     }
87 
88     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()89     inline std::string toString() const {
90       std::ostringstream _aidl_os;
91       _aidl_os << "ConnectionInfo{";
92       _aidl_os << "connection: " << ::android::internal::ToString(connection);
93       _aidl_os << ", connectionId: " << ::android::internal::ToString(connectionId);
94       _aidl_os << ", msgId: " << ::android::internal::ToString(msgId);
95       _aidl_os << ", toFmqDesc: " << ::android::internal::ToString(toFmqDesc);
96       _aidl_os << ", fromFmqDesc: " << ::android::internal::ToString(fromFmqDesc);
97       _aidl_os << "}";
98       return _aidl_os.str();
99     }
100   };
101   static inline const int32_t version = 2;
102   static inline const std::string hash = "c12818c51418fbfc76f1b81eba6678d75cf526c1";
103   static constexpr uint32_t TRANSACTION_connect = FIRST_CALL_TRANSACTION + 0;
104 
105   static std::shared_ptr<IAccessor> fromBinder(const ::ndk::SpAIBinder& binder);
106   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IAccessor>& instance);
107   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IAccessor>* instance);
108   static bool setDefaultImpl(const std::shared_ptr<IAccessor>& impl);
109   static const std::shared_ptr<IAccessor>& getDefaultImpl();
110   virtual ::ndk::ScopedAStatus connect(const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IObserver>& in_observer, ::aidl::android::hardware::media::bufferpool2::IAccessor::ConnectionInfo* _aidl_return) = 0;
111   virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
112   virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
113 private:
114   static std::shared_ptr<IAccessor> default_impl;
115 };
116 class IAccessorDefault : public IAccessor {
117 public:
118   ::ndk::ScopedAStatus connect(const std::shared_ptr<::aidl::android::hardware::media::bufferpool2::IObserver>& in_observer, ::aidl::android::hardware::media::bufferpool2::IAccessor::ConnectionInfo* _aidl_return) override;
119   ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
120   ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
121   ::ndk::SpAIBinder asBinder() override;
122   bool isRemote() override;
123 };
124 }  // namespace bufferpool2
125 }  // namespace media
126 }  // namespace hardware
127 }  // namespace android
128 }  // namespace aidl
129