1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation --structured --version 3 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.eraser.types_interface/1/preprocessed.aidl -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common_interface/4/preprocessed.aidl -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 --previous_api_dir=hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect/2 --previous_hash 54d5a2e1d59066b57e35eb7bcb5ebc72a1259c1c --ninja -d out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/staging/android/hardware/audio/effect/IEffect.cpp.d -h out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect-V3-ndk-source/gen/staging -Nhardware/interfaces/audio/aidl hardware/interfaces/audio/aidl/android/hardware/audio/effect/IEffect.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/audio/effect/CommandId.h>
20 #include <aidl/android/hardware/audio/effect/Descriptor.h>
21 #include <aidl/android/hardware/audio/effect/IEffect.h>
22 #include <aidl/android/hardware/audio/effect/Parameter.h>
23 #include <aidl/android/hardware/audio/effect/State.h>
24 #include <aidl/android/hardware/common/fmq/MQDescriptor.h>
25 #include <aidl/android/hardware/common/fmq/SynchronizedReadWrite.h>
26 #ifdef BINDER_STABILITY_SUPPORT
27 #include <android/binder_stability.h>
28 #endif  // BINDER_STABILITY_SUPPORT
29 
30 namespace aidl::android::hardware::audio::effect {
31 class Descriptor;
32 }  // namespace aidl::android::hardware::audio::effect
33 namespace aidl::android::hardware::common::fmq {
34 template <typename T, typename Flavor>
35 class MQDescriptor;
36 }  // namespace aidl::android::hardware::common::fmq
37 namespace aidl {
38 namespace android {
39 namespace hardware {
40 namespace audio {
41 namespace effect {
42 class IEffectDelegator;
43 
44 class IEffect : public ::ndk::ICInterface {
45 public:
46   typedef IEffectDelegator DefaultDelegator;
47   static const char* descriptor;
48   IEffect();
49   virtual ~IEffect();
50 
51   class Status {
52   public:
53     typedef std::true_type fixed_size;
54     static const char* descriptor;
55 
56     int32_t status __attribute__((aligned (4))) = 0;
57     int32_t fmqConsumed __attribute__((aligned (4))) = 0;
58     int32_t fmqProduced __attribute__((aligned (4))) = 0;
59 
60     binder_status_t readFromParcel(const AParcel* parcel);
61     binder_status_t writeToParcel(AParcel* parcel) const;
62 
63     inline bool operator==(const Status& _rhs) const {
64       return std::tie(status, fmqConsumed, fmqProduced) == std::tie(_rhs.status, _rhs.fmqConsumed, _rhs.fmqProduced);
65     }
66     inline bool operator<(const Status& _rhs) const {
67       return std::tie(status, fmqConsumed, fmqProduced) < std::tie(_rhs.status, _rhs.fmqConsumed, _rhs.fmqProduced);
68     }
69     inline bool operator!=(const Status& _rhs) const {
70       return !(*this == _rhs);
71     }
72     inline bool operator>(const Status& _rhs) const {
73       return _rhs < *this;
74     }
75     inline bool operator>=(const Status& _rhs) const {
76       return !(*this < _rhs);
77     }
78     inline bool operator<=(const Status& _rhs) const {
79       return !(_rhs < *this);
80     }
81 
82     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()83     inline std::string toString() const {
84       std::ostringstream _aidl_os;
85       _aidl_os << "Status{";
86       _aidl_os << "status: " << ::android::internal::ToString(status);
87       _aidl_os << ", fmqConsumed: " << ::android::internal::ToString(fmqConsumed);
88       _aidl_os << ", fmqProduced: " << ::android::internal::ToString(fmqProduced);
89       _aidl_os << "}";
90       return _aidl_os.str();
91     }
92   };
93   static_assert(offsetof(Status, status) == 0);
94   static_assert(sizeof(int32_t) == 4);
95   static_assert(offsetof(Status, fmqConsumed) == 4);
96   static_assert(sizeof(int32_t) == 4);
97   static_assert(offsetof(Status, fmqProduced) == 8);
98   static_assert(sizeof(int32_t) == 4);
99   static_assert(alignof(Status) == 4);
100   static_assert(sizeof(Status) == 12);
101   class OpenEffectReturn {
102   public:
103     typedef std::false_type fixed_size;
104     static const char* descriptor;
105 
106     ::aidl::android::hardware::common::fmq::MQDescriptor<::aidl::android::hardware::audio::effect::IEffect::Status, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite> statusMQ;
107     ::aidl::android::hardware::common::fmq::MQDescriptor<float, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite> inputDataMQ;
108     ::aidl::android::hardware::common::fmq::MQDescriptor<float, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite> outputDataMQ;
109 
110     binder_status_t readFromParcel(const AParcel* parcel);
111     binder_status_t writeToParcel(AParcel* parcel) const;
112 
113     inline bool operator==(const OpenEffectReturn& _rhs) const {
114       return std::tie(statusMQ, inputDataMQ, outputDataMQ) == std::tie(_rhs.statusMQ, _rhs.inputDataMQ, _rhs.outputDataMQ);
115     }
116     inline bool operator<(const OpenEffectReturn& _rhs) const {
117       return std::tie(statusMQ, inputDataMQ, outputDataMQ) < std::tie(_rhs.statusMQ, _rhs.inputDataMQ, _rhs.outputDataMQ);
118     }
119     inline bool operator!=(const OpenEffectReturn& _rhs) const {
120       return !(*this == _rhs);
121     }
122     inline bool operator>(const OpenEffectReturn& _rhs) const {
123       return _rhs < *this;
124     }
125     inline bool operator>=(const OpenEffectReturn& _rhs) const {
126       return !(*this < _rhs);
127     }
128     inline bool operator<=(const OpenEffectReturn& _rhs) const {
129       return !(_rhs < *this);
130     }
131 
132     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()133     inline std::string toString() const {
134       std::ostringstream _aidl_os;
135       _aidl_os << "OpenEffectReturn{";
136       _aidl_os << "statusMQ: " << ::android::internal::ToString(statusMQ);
137       _aidl_os << ", inputDataMQ: " << ::android::internal::ToString(inputDataMQ);
138       _aidl_os << ", outputDataMQ: " << ::android::internal::ToString(outputDataMQ);
139       _aidl_os << "}";
140       return _aidl_os.str();
141     }
142   };
143   static inline const int32_t version = true ? 2 : 3;
144   static inline const std::string hash = true ? "54d5a2e1d59066b57e35eb7bcb5ebc72a1259c1c" : "notfrozen";
145   static constexpr uint32_t TRANSACTION_open = FIRST_CALL_TRANSACTION + 0;
146   static constexpr uint32_t TRANSACTION_close = FIRST_CALL_TRANSACTION + 1;
147   static constexpr uint32_t TRANSACTION_getDescriptor = FIRST_CALL_TRANSACTION + 2;
148   static constexpr uint32_t TRANSACTION_command = FIRST_CALL_TRANSACTION + 3;
149   static constexpr uint32_t TRANSACTION_getState = FIRST_CALL_TRANSACTION + 4;
150   static constexpr uint32_t TRANSACTION_setParameter = FIRST_CALL_TRANSACTION + 5;
151   static constexpr uint32_t TRANSACTION_getParameter = FIRST_CALL_TRANSACTION + 6;
152   static constexpr uint32_t TRANSACTION_reopen = FIRST_CALL_TRANSACTION + 7;
153 
154   static std::shared_ptr<IEffect> fromBinder(const ::ndk::SpAIBinder& binder);
155   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IEffect>& instance);
156   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IEffect>* instance);
157   static bool setDefaultImpl(const std::shared_ptr<IEffect>& impl);
158   static const std::shared_ptr<IEffect>& getDefaultImpl();
159   virtual ::ndk::ScopedAStatus open(const ::aidl::android::hardware::audio::effect::Parameter::Common& in_common, const std::optional<::aidl::android::hardware::audio::effect::Parameter::Specific>& in_specific, ::aidl::android::hardware::audio::effect::IEffect::OpenEffectReturn* _aidl_return) = 0;
160   virtual ::ndk::ScopedAStatus close() = 0;
161   virtual ::ndk::ScopedAStatus getDescriptor(::aidl::android::hardware::audio::effect::Descriptor* _aidl_return) = 0;
162   virtual ::ndk::ScopedAStatus command(::aidl::android::hardware::audio::effect::CommandId in_commandId) = 0;
163   virtual ::ndk::ScopedAStatus getState(::aidl::android::hardware::audio::effect::State* _aidl_return) = 0;
164   virtual ::ndk::ScopedAStatus setParameter(const ::aidl::android::hardware::audio::effect::Parameter& in_param) = 0;
165   virtual ::ndk::ScopedAStatus getParameter(const ::aidl::android::hardware::audio::effect::Parameter::Id& in_paramId, ::aidl::android::hardware::audio::effect::Parameter* _aidl_return) = 0;
166   virtual ::ndk::ScopedAStatus reopen(::aidl::android::hardware::audio::effect::IEffect::OpenEffectReturn* _aidl_return) = 0;
167   virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
168   virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
169 private:
170   static std::shared_ptr<IEffect> default_impl;
171 };
172 class IEffectDefault : public IEffect {
173 public:
174   ::ndk::ScopedAStatus open(const ::aidl::android::hardware::audio::effect::Parameter::Common& in_common, const std::optional<::aidl::android::hardware::audio::effect::Parameter::Specific>& in_specific, ::aidl::android::hardware::audio::effect::IEffect::OpenEffectReturn* _aidl_return) override;
175   ::ndk::ScopedAStatus close() override;
176   ::ndk::ScopedAStatus getDescriptor(::aidl::android::hardware::audio::effect::Descriptor* _aidl_return) override;
177   ::ndk::ScopedAStatus command(::aidl::android::hardware::audio::effect::CommandId in_commandId) override;
178   ::ndk::ScopedAStatus getState(::aidl::android::hardware::audio::effect::State* _aidl_return) override;
179   ::ndk::ScopedAStatus setParameter(const ::aidl::android::hardware::audio::effect::Parameter& in_param) override;
180   ::ndk::ScopedAStatus getParameter(const ::aidl::android::hardware::audio::effect::Parameter::Id& in_paramId, ::aidl::android::hardware::audio::effect::Parameter* _aidl_return) override;
181   ::ndk::ScopedAStatus reopen(::aidl::android::hardware::audio::effect::IEffect::OpenEffectReturn* _aidl_return) override;
182   ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
183   ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
184   ::ndk::SpAIBinder asBinder() override;
185   bool isRemote() override;
186 };
187 }  // namespace effect
188 }  // namespace audio
189 }  // namespace hardware
190 }  // namespace android
191 }  // namespace aidl
192