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/EnvironmentalReverb.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/EnvironmentalReverb.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 <array>
12 #include <cassert>
13 #include <cstdint>
14 #include <memory>
15 #include <optional>
16 #include <string>
17 #include <type_traits>
18 #include <utility>
19 #include <variant>
20 #include <vector>
21 #include <android/binder_enums.h>
22 #include <android/binder_interface_utils.h>
23 #include <android/binder_parcelable_utils.h>
24 #include <android/binder_to_string.h>
25 #include <aidl/android/hardware/audio/effect/EnvironmentalReverb.h>
26 #include <aidl/android/hardware/audio/effect/VendorExtension.h>
27 #ifdef BINDER_STABILITY_SUPPORT
28 #include <android/binder_stability.h>
29 #endif  // BINDER_STABILITY_SUPPORT
30 
31 #ifndef __BIONIC__
32 #define __assert2(a,b,c,d) ((void)0)
33 #endif
34 
35 namespace aidl::android::hardware::audio::effect {
36 class VendorExtension;
37 }  // namespace aidl::android::hardware::audio::effect
38 namespace aidl {
39 namespace android {
40 namespace hardware {
41 namespace audio {
42 namespace effect {
43 class EnvironmentalReverb {
44 public:
45   typedef std::false_type fixed_size;
46   static const char* descriptor;
47 
48   enum class Tag : int32_t {
49     vendor = 0,
50     roomLevelMb = 1,
51     roomHfLevelMb = 2,
52     decayTimeMs = 3,
53     decayHfRatioPm = 4,
54     reflectionsLevelMb = 5,
55     reflectionsDelayMs = 6,
56     levelMb = 7,
57     delayMs = 8,
58     diffusionPm = 9,
59     densityPm = 10,
60     bypass = 11,
61   };
62 
63   class Id {
64   public:
65     typedef std::false_type fixed_size;
66     static const char* descriptor;
67 
68     enum class Tag : int32_t {
69       vendorExtensionTag = 0,
70       commonTag = 1,
71     };
72 
73     // Expose tag symbols for legacy code
74     static const inline Tag vendorExtensionTag = Tag::vendorExtensionTag;
75     static const inline Tag commonTag = Tag::commonTag;
76 
77     template<typename _Tp>
78     static constexpr bool _not_self = !std::is_same_v<std::remove_cv_t<std::remove_reference_t<_Tp>>, Id>;
79 
Id()80     Id() : _value(std::in_place_index<static_cast<size_t>(vendorExtensionTag)>, ::aidl::android::hardware::audio::effect::VendorExtension()) { }
81 
82     template <typename _Tp, typename = std::enable_if_t<_not_self<_Tp>>>
83     // NOLINTNEXTLINE(google-explicit-constructor)
Id(_Tp && _arg)84     constexpr Id(_Tp&& _arg)
85         : _value(std::forward<_Tp>(_arg)) {}
86 
87     template <size_t _Np, typename... _Tp>
Id(std::in_place_index_t<_Np>,_Tp &&..._args)88     constexpr explicit Id(std::in_place_index_t<_Np>, _Tp&&... _args)
89         : _value(std::in_place_index<_Np>, std::forward<_Tp>(_args)...) {}
90 
91     template <Tag _tag, typename... _Tp>
make(_Tp &&..._args)92     static Id make(_Tp&&... _args) {
93       return Id(std::in_place_index<static_cast<size_t>(_tag)>, std::forward<_Tp>(_args)...);
94     }
95 
96     template <Tag _tag, typename _Tp, typename... _Up>
make(std::initializer_list<_Tp> _il,_Up &&..._args)97     static Id make(std::initializer_list<_Tp> _il, _Up&&... _args) {
98       return Id(std::in_place_index<static_cast<size_t>(_tag)>, std::move(_il), std::forward<_Up>(_args)...);
99     }
100 
getTag()101     Tag getTag() const {
102       return static_cast<Tag>(_value.index());
103     }
104 
105     template <Tag _tag>
get()106     const auto& get() const {
107       if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
108       return std::get<static_cast<size_t>(_tag)>(_value);
109     }
110 
111     template <Tag _tag>
get()112     auto& get() {
113       if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
114       return std::get<static_cast<size_t>(_tag)>(_value);
115     }
116 
117     template <Tag _tag, typename... _Tp>
set(_Tp &&..._args)118     void set(_Tp&&... _args) {
119       _value.emplace<static_cast<size_t>(_tag)>(std::forward<_Tp>(_args)...);
120     }
121 
122     binder_status_t readFromParcel(const AParcel* _parcel);
123     binder_status_t writeToParcel(AParcel* _parcel) const;
124 
125     inline bool operator==(const Id& _rhs) const {
126       return _value == _rhs._value;
127     }
128     inline bool operator<(const Id& _rhs) const {
129       return _value < _rhs._value;
130     }
131     inline bool operator!=(const Id& _rhs) const {
132       return !(*this == _rhs);
133     }
134     inline bool operator>(const Id& _rhs) const {
135       return _rhs < *this;
136     }
137     inline bool operator>=(const Id& _rhs) const {
138       return !(*this < _rhs);
139     }
140     inline bool operator<=(const Id& _rhs) const {
141       return !(_rhs < *this);
142     }
143 
144     static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()145     inline std::string toString() const {
146       std::ostringstream os;
147       os << "Id{";
148       switch (getTag()) {
149       case vendorExtensionTag: os << "vendorExtensionTag: " << ::android::internal::ToString(get<vendorExtensionTag>()); break;
150       case commonTag: os << "commonTag: " << ::android::internal::ToString(get<commonTag>()); break;
151       }
152       os << "}";
153       return os.str();
154     }
155   private:
156     std::variant<::aidl::android::hardware::audio::effect::VendorExtension, ::aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag> _value;
157   };
158   // Expose tag symbols for legacy code
159   static const inline Tag vendor = Tag::vendor;
160   static const inline Tag roomLevelMb = Tag::roomLevelMb;
161   static const inline Tag roomHfLevelMb = Tag::roomHfLevelMb;
162   static const inline Tag decayTimeMs = Tag::decayTimeMs;
163   static const inline Tag decayHfRatioPm = Tag::decayHfRatioPm;
164   static const inline Tag reflectionsLevelMb = Tag::reflectionsLevelMb;
165   static const inline Tag reflectionsDelayMs = Tag::reflectionsDelayMs;
166   static const inline Tag levelMb = Tag::levelMb;
167   static const inline Tag delayMs = Tag::delayMs;
168   static const inline Tag diffusionPm = Tag::diffusionPm;
169   static const inline Tag densityPm = Tag::densityPm;
170   static const inline Tag bypass = Tag::bypass;
171 
172   template<typename _Tp>
173   static constexpr bool _not_self = !std::is_same_v<std::remove_cv_t<std::remove_reference_t<_Tp>>, EnvironmentalReverb>;
174 
EnvironmentalReverb()175   EnvironmentalReverb() : _value(std::in_place_index<static_cast<size_t>(vendor)>, ::aidl::android::hardware::audio::effect::VendorExtension()) { }
176 
177   template <typename _Tp, typename = std::enable_if_t<_not_self<_Tp>>>
178   // NOLINTNEXTLINE(google-explicit-constructor)
EnvironmentalReverb(_Tp && _arg)179   constexpr EnvironmentalReverb(_Tp&& _arg)
180       : _value(std::forward<_Tp>(_arg)) {}
181 
182   template <size_t _Np, typename... _Tp>
EnvironmentalReverb(std::in_place_index_t<_Np>,_Tp &&..._args)183   constexpr explicit EnvironmentalReverb(std::in_place_index_t<_Np>, _Tp&&... _args)
184       : _value(std::in_place_index<_Np>, std::forward<_Tp>(_args)...) {}
185 
186   template <Tag _tag, typename... _Tp>
make(_Tp &&..._args)187   static EnvironmentalReverb make(_Tp&&... _args) {
188     return EnvironmentalReverb(std::in_place_index<static_cast<size_t>(_tag)>, std::forward<_Tp>(_args)...);
189   }
190 
191   template <Tag _tag, typename _Tp, typename... _Up>
make(std::initializer_list<_Tp> _il,_Up &&..._args)192   static EnvironmentalReverb make(std::initializer_list<_Tp> _il, _Up&&... _args) {
193     return EnvironmentalReverb(std::in_place_index<static_cast<size_t>(_tag)>, std::move(_il), std::forward<_Up>(_args)...);
194   }
195 
getTag()196   Tag getTag() const {
197     return static_cast<Tag>(_value.index());
198   }
199 
200   template <Tag _tag>
get()201   const auto& get() const {
202     if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
203     return std::get<static_cast<size_t>(_tag)>(_value);
204   }
205 
206   template <Tag _tag>
get()207   auto& get() {
208     if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
209     return std::get<static_cast<size_t>(_tag)>(_value);
210   }
211 
212   template <Tag _tag, typename... _Tp>
set(_Tp &&..._args)213   void set(_Tp&&... _args) {
214     _value.emplace<static_cast<size_t>(_tag)>(std::forward<_Tp>(_args)...);
215   }
216 
217   binder_status_t readFromParcel(const AParcel* _parcel);
218   binder_status_t writeToParcel(AParcel* _parcel) const;
219 
220   inline bool operator==(const EnvironmentalReverb& _rhs) const {
221     return _value == _rhs._value;
222   }
223   inline bool operator<(const EnvironmentalReverb& _rhs) const {
224     return _value < _rhs._value;
225   }
226   inline bool operator!=(const EnvironmentalReverb& _rhs) const {
227     return !(*this == _rhs);
228   }
229   inline bool operator>(const EnvironmentalReverb& _rhs) const {
230     return _rhs < *this;
231   }
232   inline bool operator>=(const EnvironmentalReverb& _rhs) const {
233     return !(*this < _rhs);
234   }
235   inline bool operator<=(const EnvironmentalReverb& _rhs) const {
236     return !(_rhs < *this);
237   }
238 
239   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()240   inline std::string toString() const {
241     std::ostringstream os;
242     os << "EnvironmentalReverb{";
243     switch (getTag()) {
244     case vendor: os << "vendor: " << ::android::internal::ToString(get<vendor>()); break;
245     case roomLevelMb: os << "roomLevelMb: " << ::android::internal::ToString(get<roomLevelMb>()); break;
246     case roomHfLevelMb: os << "roomHfLevelMb: " << ::android::internal::ToString(get<roomHfLevelMb>()); break;
247     case decayTimeMs: os << "decayTimeMs: " << ::android::internal::ToString(get<decayTimeMs>()); break;
248     case decayHfRatioPm: os << "decayHfRatioPm: " << ::android::internal::ToString(get<decayHfRatioPm>()); break;
249     case reflectionsLevelMb: os << "reflectionsLevelMb: " << ::android::internal::ToString(get<reflectionsLevelMb>()); break;
250     case reflectionsDelayMs: os << "reflectionsDelayMs: " << ::android::internal::ToString(get<reflectionsDelayMs>()); break;
251     case levelMb: os << "levelMb: " << ::android::internal::ToString(get<levelMb>()); break;
252     case delayMs: os << "delayMs: " << ::android::internal::ToString(get<delayMs>()); break;
253     case diffusionPm: os << "diffusionPm: " << ::android::internal::ToString(get<diffusionPm>()); break;
254     case densityPm: os << "densityPm: " << ::android::internal::ToString(get<densityPm>()); break;
255     case bypass: os << "bypass: " << ::android::internal::ToString(get<bypass>()); break;
256     }
257     os << "}";
258     return os.str();
259   }
260 private:
261   std::variant<::aidl::android::hardware::audio::effect::VendorExtension, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, bool> _value;
262 };
263 }  // namespace effect
264 }  // namespace audio
265 }  // namespace hardware
266 }  // namespace android
267 }  // namespace aidl
268 namespace aidl {
269 namespace android {
270 namespace hardware {
271 namespace audio {
272 namespace effect {
toString(EnvironmentalReverb::Id::Tag val)273 [[nodiscard]] static inline std::string toString(EnvironmentalReverb::Id::Tag val) {
274   switch(val) {
275   case EnvironmentalReverb::Id::Tag::vendorExtensionTag:
276     return "vendorExtensionTag";
277   case EnvironmentalReverb::Id::Tag::commonTag:
278     return "commonTag";
279   default:
280     return std::to_string(static_cast<int32_t>(val));
281   }
282 }
283 }  // namespace effect
284 }  // namespace audio
285 }  // namespace hardware
286 }  // namespace android
287 }  // namespace aidl
288 namespace ndk {
289 namespace internal {
290 #pragma clang diagnostic push
291 #pragma clang diagnostic ignored "-Wc++17-extensions"
292 template <>
293 constexpr inline std::array<aidl::android::hardware::audio::effect::EnvironmentalReverb::Id::Tag, 2> enum_values<aidl::android::hardware::audio::effect::EnvironmentalReverb::Id::Tag> = {
294   aidl::android::hardware::audio::effect::EnvironmentalReverb::Id::Tag::vendorExtensionTag,
295   aidl::android::hardware::audio::effect::EnvironmentalReverb::Id::Tag::commonTag,
296 };
297 #pragma clang diagnostic pop
298 }  // namespace internal
299 }  // namespace ndk
300 namespace aidl {
301 namespace android {
302 namespace hardware {
303 namespace audio {
304 namespace effect {
toString(EnvironmentalReverb::Tag val)305 [[nodiscard]] static inline std::string toString(EnvironmentalReverb::Tag val) {
306   switch(val) {
307   case EnvironmentalReverb::Tag::vendor:
308     return "vendor";
309   case EnvironmentalReverb::Tag::roomLevelMb:
310     return "roomLevelMb";
311   case EnvironmentalReverb::Tag::roomHfLevelMb:
312     return "roomHfLevelMb";
313   case EnvironmentalReverb::Tag::decayTimeMs:
314     return "decayTimeMs";
315   case EnvironmentalReverb::Tag::decayHfRatioPm:
316     return "decayHfRatioPm";
317   case EnvironmentalReverb::Tag::reflectionsLevelMb:
318     return "reflectionsLevelMb";
319   case EnvironmentalReverb::Tag::reflectionsDelayMs:
320     return "reflectionsDelayMs";
321   case EnvironmentalReverb::Tag::levelMb:
322     return "levelMb";
323   case EnvironmentalReverb::Tag::delayMs:
324     return "delayMs";
325   case EnvironmentalReverb::Tag::diffusionPm:
326     return "diffusionPm";
327   case EnvironmentalReverb::Tag::densityPm:
328     return "densityPm";
329   case EnvironmentalReverb::Tag::bypass:
330     return "bypass";
331   default:
332     return std::to_string(static_cast<int32_t>(val));
333   }
334 }
335 }  // namespace effect
336 }  // namespace audio
337 }  // namespace hardware
338 }  // namespace android
339 }  // namespace aidl
340 namespace ndk {
341 namespace internal {
342 #pragma clang diagnostic push
343 #pragma clang diagnostic ignored "-Wc++17-extensions"
344 template <>
345 constexpr inline std::array<aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag, 12> enum_values<aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag> = {
346   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::vendor,
347   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::roomLevelMb,
348   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::roomHfLevelMb,
349   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::decayTimeMs,
350   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::decayHfRatioPm,
351   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::reflectionsLevelMb,
352   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::reflectionsDelayMs,
353   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::levelMb,
354   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::delayMs,
355   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::diffusionPm,
356   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::densityPm,
357   aidl::android::hardware::audio::effect::EnvironmentalReverb::Tag::bypass,
358 };
359 #pragma clang diagnostic pop
360 }  // namespace internal
361 }  // namespace ndk
362