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