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/Range.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/Range.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/AcousticEchoCanceler.h>
26 #include <aidl/android/hardware/audio/effect/AutomaticGainControlV1.h>
27 #include <aidl/android/hardware/audio/effect/AutomaticGainControlV2.h>
28 #include <aidl/android/hardware/audio/effect/BassBoost.h>
29 #include <aidl/android/hardware/audio/effect/Downmix.h>
30 #include <aidl/android/hardware/audio/effect/DynamicsProcessing.h>
31 #include <aidl/android/hardware/audio/effect/EnvironmentalReverb.h>
32 #include <aidl/android/hardware/audio/effect/Equalizer.h>
33 #include <aidl/android/hardware/audio/effect/HapticGenerator.h>
34 #include <aidl/android/hardware/audio/effect/LoudnessEnhancer.h>
35 #include <aidl/android/hardware/audio/effect/NoiseSuppression.h>
36 #include <aidl/android/hardware/audio/effect/PresetReverb.h>
37 #include <aidl/android/hardware/audio/effect/Range.h>
38 #include <aidl/android/hardware/audio/effect/Spatializer.h>
39 #include <aidl/android/hardware/audio/effect/VendorExtension.h>
40 #include <aidl/android/hardware/audio/effect/Virtualizer.h>
41 #include <aidl/android/hardware/audio/effect/Visualizer.h>
42 #include <aidl/android/hardware/audio/effect/Volume.h>
43 #ifdef BINDER_STABILITY_SUPPORT
44 #include <android/binder_stability.h>
45 #endif // BINDER_STABILITY_SUPPORT
46
47 #ifndef __BIONIC__
48 #define __assert2(a,b,c,d) ((void)0)
49 #endif
50
51 namespace aidl::android::hardware::audio::effect {
52 class VendorExtension;
53 } // namespace aidl::android::hardware::audio::effect
54 namespace aidl {
55 namespace android {
56 namespace hardware {
57 namespace audio {
58 namespace effect {
59 class Range {
60 public:
61 typedef std::false_type fixed_size;
62 static const char* descriptor;
63
64 class AcousticEchoCancelerRange {
65 public:
66 typedef std::false_type fixed_size;
67 static const char* descriptor;
68
69 ::aidl::android::hardware::audio::effect::AcousticEchoCanceler min;
70 ::aidl::android::hardware::audio::effect::AcousticEchoCanceler max;
71
72 binder_status_t readFromParcel(const AParcel* parcel);
73 binder_status_t writeToParcel(AParcel* parcel) const;
74
75 inline bool operator==(const AcousticEchoCancelerRange& _rhs) const {
76 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
77 }
78 inline bool operator<(const AcousticEchoCancelerRange& _rhs) const {
79 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
80 }
81 inline bool operator!=(const AcousticEchoCancelerRange& _rhs) const {
82 return !(*this == _rhs);
83 }
84 inline bool operator>(const AcousticEchoCancelerRange& _rhs) const {
85 return _rhs < *this;
86 }
87 inline bool operator>=(const AcousticEchoCancelerRange& _rhs) const {
88 return !(*this < _rhs);
89 }
90 inline bool operator<=(const AcousticEchoCancelerRange& _rhs) const {
91 return !(_rhs < *this);
92 }
93
94 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()95 inline std::string toString() const {
96 std::ostringstream _aidl_os;
97 _aidl_os << "AcousticEchoCancelerRange{";
98 _aidl_os << "min: " << ::android::internal::ToString(min);
99 _aidl_os << ", max: " << ::android::internal::ToString(max);
100 _aidl_os << "}";
101 return _aidl_os.str();
102 }
103 };
104 class AutomaticGainControlV1Range {
105 public:
106 typedef std::false_type fixed_size;
107 static const char* descriptor;
108
109 ::aidl::android::hardware::audio::effect::AutomaticGainControlV1 min;
110 ::aidl::android::hardware::audio::effect::AutomaticGainControlV1 max;
111
112 binder_status_t readFromParcel(const AParcel* parcel);
113 binder_status_t writeToParcel(AParcel* parcel) const;
114
115 inline bool operator==(const AutomaticGainControlV1Range& _rhs) const {
116 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
117 }
118 inline bool operator<(const AutomaticGainControlV1Range& _rhs) const {
119 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
120 }
121 inline bool operator!=(const AutomaticGainControlV1Range& _rhs) const {
122 return !(*this == _rhs);
123 }
124 inline bool operator>(const AutomaticGainControlV1Range& _rhs) const {
125 return _rhs < *this;
126 }
127 inline bool operator>=(const AutomaticGainControlV1Range& _rhs) const {
128 return !(*this < _rhs);
129 }
130 inline bool operator<=(const AutomaticGainControlV1Range& _rhs) const {
131 return !(_rhs < *this);
132 }
133
134 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()135 inline std::string toString() const {
136 std::ostringstream _aidl_os;
137 _aidl_os << "AutomaticGainControlV1Range{";
138 _aidl_os << "min: " << ::android::internal::ToString(min);
139 _aidl_os << ", max: " << ::android::internal::ToString(max);
140 _aidl_os << "}";
141 return _aidl_os.str();
142 }
143 };
144 class AutomaticGainControlV2Range {
145 public:
146 typedef std::false_type fixed_size;
147 static const char* descriptor;
148
149 ::aidl::android::hardware::audio::effect::AutomaticGainControlV2 min;
150 ::aidl::android::hardware::audio::effect::AutomaticGainControlV2 max;
151
152 binder_status_t readFromParcel(const AParcel* parcel);
153 binder_status_t writeToParcel(AParcel* parcel) const;
154
155 inline bool operator==(const AutomaticGainControlV2Range& _rhs) const {
156 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
157 }
158 inline bool operator<(const AutomaticGainControlV2Range& _rhs) const {
159 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
160 }
161 inline bool operator!=(const AutomaticGainControlV2Range& _rhs) const {
162 return !(*this == _rhs);
163 }
164 inline bool operator>(const AutomaticGainControlV2Range& _rhs) const {
165 return _rhs < *this;
166 }
167 inline bool operator>=(const AutomaticGainControlV2Range& _rhs) const {
168 return !(*this < _rhs);
169 }
170 inline bool operator<=(const AutomaticGainControlV2Range& _rhs) const {
171 return !(_rhs < *this);
172 }
173
174 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()175 inline std::string toString() const {
176 std::ostringstream _aidl_os;
177 _aidl_os << "AutomaticGainControlV2Range{";
178 _aidl_os << "min: " << ::android::internal::ToString(min);
179 _aidl_os << ", max: " << ::android::internal::ToString(max);
180 _aidl_os << "}";
181 return _aidl_os.str();
182 }
183 };
184 class BassBoostRange {
185 public:
186 typedef std::false_type fixed_size;
187 static const char* descriptor;
188
189 ::aidl::android::hardware::audio::effect::BassBoost min;
190 ::aidl::android::hardware::audio::effect::BassBoost max;
191
192 binder_status_t readFromParcel(const AParcel* parcel);
193 binder_status_t writeToParcel(AParcel* parcel) const;
194
195 inline bool operator==(const BassBoostRange& _rhs) const {
196 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
197 }
198 inline bool operator<(const BassBoostRange& _rhs) const {
199 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
200 }
201 inline bool operator!=(const BassBoostRange& _rhs) const {
202 return !(*this == _rhs);
203 }
204 inline bool operator>(const BassBoostRange& _rhs) const {
205 return _rhs < *this;
206 }
207 inline bool operator>=(const BassBoostRange& _rhs) const {
208 return !(*this < _rhs);
209 }
210 inline bool operator<=(const BassBoostRange& _rhs) const {
211 return !(_rhs < *this);
212 }
213
214 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()215 inline std::string toString() const {
216 std::ostringstream _aidl_os;
217 _aidl_os << "BassBoostRange{";
218 _aidl_os << "min: " << ::android::internal::ToString(min);
219 _aidl_os << ", max: " << ::android::internal::ToString(max);
220 _aidl_os << "}";
221 return _aidl_os.str();
222 }
223 };
224 class DownmixRange {
225 public:
226 typedef std::false_type fixed_size;
227 static const char* descriptor;
228
229 ::aidl::android::hardware::audio::effect::Downmix min;
230 ::aidl::android::hardware::audio::effect::Downmix max;
231
232 binder_status_t readFromParcel(const AParcel* parcel);
233 binder_status_t writeToParcel(AParcel* parcel) const;
234
235 inline bool operator==(const DownmixRange& _rhs) const {
236 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
237 }
238 inline bool operator<(const DownmixRange& _rhs) const {
239 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
240 }
241 inline bool operator!=(const DownmixRange& _rhs) const {
242 return !(*this == _rhs);
243 }
244 inline bool operator>(const DownmixRange& _rhs) const {
245 return _rhs < *this;
246 }
247 inline bool operator>=(const DownmixRange& _rhs) const {
248 return !(*this < _rhs);
249 }
250 inline bool operator<=(const DownmixRange& _rhs) const {
251 return !(_rhs < *this);
252 }
253
254 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()255 inline std::string toString() const {
256 std::ostringstream _aidl_os;
257 _aidl_os << "DownmixRange{";
258 _aidl_os << "min: " << ::android::internal::ToString(min);
259 _aidl_os << ", max: " << ::android::internal::ToString(max);
260 _aidl_os << "}";
261 return _aidl_os.str();
262 }
263 };
264 class DynamicsProcessingRange {
265 public:
266 typedef std::false_type fixed_size;
267 static const char* descriptor;
268
269 ::aidl::android::hardware::audio::effect::DynamicsProcessing min;
270 ::aidl::android::hardware::audio::effect::DynamicsProcessing max;
271
272 binder_status_t readFromParcel(const AParcel* parcel);
273 binder_status_t writeToParcel(AParcel* parcel) const;
274
275 inline bool operator==(const DynamicsProcessingRange& _rhs) const {
276 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
277 }
278 inline bool operator<(const DynamicsProcessingRange& _rhs) const {
279 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
280 }
281 inline bool operator!=(const DynamicsProcessingRange& _rhs) const {
282 return !(*this == _rhs);
283 }
284 inline bool operator>(const DynamicsProcessingRange& _rhs) const {
285 return _rhs < *this;
286 }
287 inline bool operator>=(const DynamicsProcessingRange& _rhs) const {
288 return !(*this < _rhs);
289 }
290 inline bool operator<=(const DynamicsProcessingRange& _rhs) const {
291 return !(_rhs < *this);
292 }
293
294 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()295 inline std::string toString() const {
296 std::ostringstream _aidl_os;
297 _aidl_os << "DynamicsProcessingRange{";
298 _aidl_os << "min: " << ::android::internal::ToString(min);
299 _aidl_os << ", max: " << ::android::internal::ToString(max);
300 _aidl_os << "}";
301 return _aidl_os.str();
302 }
303 };
304 class EnvironmentalReverbRange {
305 public:
306 typedef std::false_type fixed_size;
307 static const char* descriptor;
308
309 ::aidl::android::hardware::audio::effect::EnvironmentalReverb min;
310 ::aidl::android::hardware::audio::effect::EnvironmentalReverb max;
311
312 binder_status_t readFromParcel(const AParcel* parcel);
313 binder_status_t writeToParcel(AParcel* parcel) const;
314
315 inline bool operator==(const EnvironmentalReverbRange& _rhs) const {
316 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
317 }
318 inline bool operator<(const EnvironmentalReverbRange& _rhs) const {
319 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
320 }
321 inline bool operator!=(const EnvironmentalReverbRange& _rhs) const {
322 return !(*this == _rhs);
323 }
324 inline bool operator>(const EnvironmentalReverbRange& _rhs) const {
325 return _rhs < *this;
326 }
327 inline bool operator>=(const EnvironmentalReverbRange& _rhs) const {
328 return !(*this < _rhs);
329 }
330 inline bool operator<=(const EnvironmentalReverbRange& _rhs) const {
331 return !(_rhs < *this);
332 }
333
334 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()335 inline std::string toString() const {
336 std::ostringstream _aidl_os;
337 _aidl_os << "EnvironmentalReverbRange{";
338 _aidl_os << "min: " << ::android::internal::ToString(min);
339 _aidl_os << ", max: " << ::android::internal::ToString(max);
340 _aidl_os << "}";
341 return _aidl_os.str();
342 }
343 };
344 class EqualizerRange {
345 public:
346 typedef std::false_type fixed_size;
347 static const char* descriptor;
348
349 ::aidl::android::hardware::audio::effect::Equalizer min;
350 ::aidl::android::hardware::audio::effect::Equalizer max;
351
352 binder_status_t readFromParcel(const AParcel* parcel);
353 binder_status_t writeToParcel(AParcel* parcel) const;
354
355 inline bool operator==(const EqualizerRange& _rhs) const {
356 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
357 }
358 inline bool operator<(const EqualizerRange& _rhs) const {
359 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
360 }
361 inline bool operator!=(const EqualizerRange& _rhs) const {
362 return !(*this == _rhs);
363 }
364 inline bool operator>(const EqualizerRange& _rhs) const {
365 return _rhs < *this;
366 }
367 inline bool operator>=(const EqualizerRange& _rhs) const {
368 return !(*this < _rhs);
369 }
370 inline bool operator<=(const EqualizerRange& _rhs) const {
371 return !(_rhs < *this);
372 }
373
374 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()375 inline std::string toString() const {
376 std::ostringstream _aidl_os;
377 _aidl_os << "EqualizerRange{";
378 _aidl_os << "min: " << ::android::internal::ToString(min);
379 _aidl_os << ", max: " << ::android::internal::ToString(max);
380 _aidl_os << "}";
381 return _aidl_os.str();
382 }
383 };
384 class HapticGeneratorRange {
385 public:
386 typedef std::false_type fixed_size;
387 static const char* descriptor;
388
389 ::aidl::android::hardware::audio::effect::HapticGenerator min;
390 ::aidl::android::hardware::audio::effect::HapticGenerator max;
391
392 binder_status_t readFromParcel(const AParcel* parcel);
393 binder_status_t writeToParcel(AParcel* parcel) const;
394
395 inline bool operator==(const HapticGeneratorRange& _rhs) const {
396 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
397 }
398 inline bool operator<(const HapticGeneratorRange& _rhs) const {
399 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
400 }
401 inline bool operator!=(const HapticGeneratorRange& _rhs) const {
402 return !(*this == _rhs);
403 }
404 inline bool operator>(const HapticGeneratorRange& _rhs) const {
405 return _rhs < *this;
406 }
407 inline bool operator>=(const HapticGeneratorRange& _rhs) const {
408 return !(*this < _rhs);
409 }
410 inline bool operator<=(const HapticGeneratorRange& _rhs) const {
411 return !(_rhs < *this);
412 }
413
414 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()415 inline std::string toString() const {
416 std::ostringstream _aidl_os;
417 _aidl_os << "HapticGeneratorRange{";
418 _aidl_os << "min: " << ::android::internal::ToString(min);
419 _aidl_os << ", max: " << ::android::internal::ToString(max);
420 _aidl_os << "}";
421 return _aidl_os.str();
422 }
423 };
424 class LoudnessEnhancerRange {
425 public:
426 typedef std::false_type fixed_size;
427 static const char* descriptor;
428
429 ::aidl::android::hardware::audio::effect::LoudnessEnhancer min;
430 ::aidl::android::hardware::audio::effect::LoudnessEnhancer max;
431
432 binder_status_t readFromParcel(const AParcel* parcel);
433 binder_status_t writeToParcel(AParcel* parcel) const;
434
435 inline bool operator==(const LoudnessEnhancerRange& _rhs) const {
436 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
437 }
438 inline bool operator<(const LoudnessEnhancerRange& _rhs) const {
439 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
440 }
441 inline bool operator!=(const LoudnessEnhancerRange& _rhs) const {
442 return !(*this == _rhs);
443 }
444 inline bool operator>(const LoudnessEnhancerRange& _rhs) const {
445 return _rhs < *this;
446 }
447 inline bool operator>=(const LoudnessEnhancerRange& _rhs) const {
448 return !(*this < _rhs);
449 }
450 inline bool operator<=(const LoudnessEnhancerRange& _rhs) const {
451 return !(_rhs < *this);
452 }
453
454 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()455 inline std::string toString() const {
456 std::ostringstream _aidl_os;
457 _aidl_os << "LoudnessEnhancerRange{";
458 _aidl_os << "min: " << ::android::internal::ToString(min);
459 _aidl_os << ", max: " << ::android::internal::ToString(max);
460 _aidl_os << "}";
461 return _aidl_os.str();
462 }
463 };
464 class NoiseSuppressionRange {
465 public:
466 typedef std::false_type fixed_size;
467 static const char* descriptor;
468
469 ::aidl::android::hardware::audio::effect::NoiseSuppression min;
470 ::aidl::android::hardware::audio::effect::NoiseSuppression max;
471
472 binder_status_t readFromParcel(const AParcel* parcel);
473 binder_status_t writeToParcel(AParcel* parcel) const;
474
475 inline bool operator==(const NoiseSuppressionRange& _rhs) const {
476 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
477 }
478 inline bool operator<(const NoiseSuppressionRange& _rhs) const {
479 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
480 }
481 inline bool operator!=(const NoiseSuppressionRange& _rhs) const {
482 return !(*this == _rhs);
483 }
484 inline bool operator>(const NoiseSuppressionRange& _rhs) const {
485 return _rhs < *this;
486 }
487 inline bool operator>=(const NoiseSuppressionRange& _rhs) const {
488 return !(*this < _rhs);
489 }
490 inline bool operator<=(const NoiseSuppressionRange& _rhs) const {
491 return !(_rhs < *this);
492 }
493
494 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()495 inline std::string toString() const {
496 std::ostringstream _aidl_os;
497 _aidl_os << "NoiseSuppressionRange{";
498 _aidl_os << "min: " << ::android::internal::ToString(min);
499 _aidl_os << ", max: " << ::android::internal::ToString(max);
500 _aidl_os << "}";
501 return _aidl_os.str();
502 }
503 };
504 class PresetReverbRange {
505 public:
506 typedef std::false_type fixed_size;
507 static const char* descriptor;
508
509 ::aidl::android::hardware::audio::effect::PresetReverb min;
510 ::aidl::android::hardware::audio::effect::PresetReverb max;
511
512 binder_status_t readFromParcel(const AParcel* parcel);
513 binder_status_t writeToParcel(AParcel* parcel) const;
514
515 inline bool operator==(const PresetReverbRange& _rhs) const {
516 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
517 }
518 inline bool operator<(const PresetReverbRange& _rhs) const {
519 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
520 }
521 inline bool operator!=(const PresetReverbRange& _rhs) const {
522 return !(*this == _rhs);
523 }
524 inline bool operator>(const PresetReverbRange& _rhs) const {
525 return _rhs < *this;
526 }
527 inline bool operator>=(const PresetReverbRange& _rhs) const {
528 return !(*this < _rhs);
529 }
530 inline bool operator<=(const PresetReverbRange& _rhs) const {
531 return !(_rhs < *this);
532 }
533
534 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()535 inline std::string toString() const {
536 std::ostringstream _aidl_os;
537 _aidl_os << "PresetReverbRange{";
538 _aidl_os << "min: " << ::android::internal::ToString(min);
539 _aidl_os << ", max: " << ::android::internal::ToString(max);
540 _aidl_os << "}";
541 return _aidl_os.str();
542 }
543 };
544 class SpatializerRange {
545 public:
546 typedef std::false_type fixed_size;
547 static const char* descriptor;
548
549 ::aidl::android::hardware::audio::effect::Spatializer min;
550 ::aidl::android::hardware::audio::effect::Spatializer max;
551
552 binder_status_t readFromParcel(const AParcel* parcel);
553 binder_status_t writeToParcel(AParcel* parcel) const;
554
555 inline bool operator==(const SpatializerRange& _rhs) const {
556 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
557 }
558 inline bool operator<(const SpatializerRange& _rhs) const {
559 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
560 }
561 inline bool operator!=(const SpatializerRange& _rhs) const {
562 return !(*this == _rhs);
563 }
564 inline bool operator>(const SpatializerRange& _rhs) const {
565 return _rhs < *this;
566 }
567 inline bool operator>=(const SpatializerRange& _rhs) const {
568 return !(*this < _rhs);
569 }
570 inline bool operator<=(const SpatializerRange& _rhs) const {
571 return !(_rhs < *this);
572 }
573
574 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()575 inline std::string toString() const {
576 std::ostringstream _aidl_os;
577 _aidl_os << "SpatializerRange{";
578 _aidl_os << "min: " << ::android::internal::ToString(min);
579 _aidl_os << ", max: " << ::android::internal::ToString(max);
580 _aidl_os << "}";
581 return _aidl_os.str();
582 }
583 };
584 class VendorExtensionRange {
585 public:
586 typedef std::false_type fixed_size;
587 static const char* descriptor;
588
589 ::aidl::android::hardware::audio::effect::VendorExtension min;
590 ::aidl::android::hardware::audio::effect::VendorExtension max;
591
592 binder_status_t readFromParcel(const AParcel* parcel);
593 binder_status_t writeToParcel(AParcel* parcel) const;
594
595 inline bool operator==(const VendorExtensionRange& _rhs) const {
596 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
597 }
598 inline bool operator<(const VendorExtensionRange& _rhs) const {
599 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
600 }
601 inline bool operator!=(const VendorExtensionRange& _rhs) const {
602 return !(*this == _rhs);
603 }
604 inline bool operator>(const VendorExtensionRange& _rhs) const {
605 return _rhs < *this;
606 }
607 inline bool operator>=(const VendorExtensionRange& _rhs) const {
608 return !(*this < _rhs);
609 }
610 inline bool operator<=(const VendorExtensionRange& _rhs) const {
611 return !(_rhs < *this);
612 }
613
614 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()615 inline std::string toString() const {
616 std::ostringstream _aidl_os;
617 _aidl_os << "VendorExtensionRange{";
618 _aidl_os << "min: " << ::android::internal::ToString(min);
619 _aidl_os << ", max: " << ::android::internal::ToString(max);
620 _aidl_os << "}";
621 return _aidl_os.str();
622 }
623 };
624 class VirtualizerRange {
625 public:
626 typedef std::false_type fixed_size;
627 static const char* descriptor;
628
629 ::aidl::android::hardware::audio::effect::Virtualizer min;
630 ::aidl::android::hardware::audio::effect::Virtualizer max;
631
632 binder_status_t readFromParcel(const AParcel* parcel);
633 binder_status_t writeToParcel(AParcel* parcel) const;
634
635 inline bool operator==(const VirtualizerRange& _rhs) const {
636 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
637 }
638 inline bool operator<(const VirtualizerRange& _rhs) const {
639 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
640 }
641 inline bool operator!=(const VirtualizerRange& _rhs) const {
642 return !(*this == _rhs);
643 }
644 inline bool operator>(const VirtualizerRange& _rhs) const {
645 return _rhs < *this;
646 }
647 inline bool operator>=(const VirtualizerRange& _rhs) const {
648 return !(*this < _rhs);
649 }
650 inline bool operator<=(const VirtualizerRange& _rhs) const {
651 return !(_rhs < *this);
652 }
653
654 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()655 inline std::string toString() const {
656 std::ostringstream _aidl_os;
657 _aidl_os << "VirtualizerRange{";
658 _aidl_os << "min: " << ::android::internal::ToString(min);
659 _aidl_os << ", max: " << ::android::internal::ToString(max);
660 _aidl_os << "}";
661 return _aidl_os.str();
662 }
663 };
664 class VisualizerRange {
665 public:
666 typedef std::false_type fixed_size;
667 static const char* descriptor;
668
669 ::aidl::android::hardware::audio::effect::Visualizer min;
670 ::aidl::android::hardware::audio::effect::Visualizer max;
671
672 binder_status_t readFromParcel(const AParcel* parcel);
673 binder_status_t writeToParcel(AParcel* parcel) const;
674
675 inline bool operator==(const VisualizerRange& _rhs) const {
676 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
677 }
678 inline bool operator<(const VisualizerRange& _rhs) const {
679 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
680 }
681 inline bool operator!=(const VisualizerRange& _rhs) const {
682 return !(*this == _rhs);
683 }
684 inline bool operator>(const VisualizerRange& _rhs) const {
685 return _rhs < *this;
686 }
687 inline bool operator>=(const VisualizerRange& _rhs) const {
688 return !(*this < _rhs);
689 }
690 inline bool operator<=(const VisualizerRange& _rhs) const {
691 return !(_rhs < *this);
692 }
693
694 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()695 inline std::string toString() const {
696 std::ostringstream _aidl_os;
697 _aidl_os << "VisualizerRange{";
698 _aidl_os << "min: " << ::android::internal::ToString(min);
699 _aidl_os << ", max: " << ::android::internal::ToString(max);
700 _aidl_os << "}";
701 return _aidl_os.str();
702 }
703 };
704 class VolumeRange {
705 public:
706 typedef std::false_type fixed_size;
707 static const char* descriptor;
708
709 ::aidl::android::hardware::audio::effect::Volume min;
710 ::aidl::android::hardware::audio::effect::Volume max;
711
712 binder_status_t readFromParcel(const AParcel* parcel);
713 binder_status_t writeToParcel(AParcel* parcel) const;
714
715 inline bool operator==(const VolumeRange& _rhs) const {
716 return std::tie(min, max) == std::tie(_rhs.min, _rhs.max);
717 }
718 inline bool operator<(const VolumeRange& _rhs) const {
719 return std::tie(min, max) < std::tie(_rhs.min, _rhs.max);
720 }
721 inline bool operator!=(const VolumeRange& _rhs) const {
722 return !(*this == _rhs);
723 }
724 inline bool operator>(const VolumeRange& _rhs) const {
725 return _rhs < *this;
726 }
727 inline bool operator>=(const VolumeRange& _rhs) const {
728 return !(*this < _rhs);
729 }
730 inline bool operator<=(const VolumeRange& _rhs) const {
731 return !(_rhs < *this);
732 }
733
734 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()735 inline std::string toString() const {
736 std::ostringstream _aidl_os;
737 _aidl_os << "VolumeRange{";
738 _aidl_os << "min: " << ::android::internal::ToString(min);
739 _aidl_os << ", max: " << ::android::internal::ToString(max);
740 _aidl_os << "}";
741 return _aidl_os.str();
742 }
743 };
744 enum class Tag : int32_t {
745 vendorExtension = 0,
746 acousticEchoCanceler = 1,
747 automaticGainControlV1 = 2,
748 automaticGainControlV2 = 3,
749 bassBoost = 4,
750 downmix = 5,
751 dynamicsProcessing = 6,
752 environmentalReverb = 7,
753 equalizer = 8,
754 hapticGenerator = 9,
755 loudnessEnhancer = 10,
756 noiseSuppression = 11,
757 presetReverb = 12,
758 virtualizer = 13,
759 visualizer = 14,
760 volume = 15,
761 spatializer = 16,
762 };
763
764 // Expose tag symbols for legacy code
765 static const inline Tag vendorExtension = Tag::vendorExtension;
766 static const inline Tag acousticEchoCanceler = Tag::acousticEchoCanceler;
767 static const inline Tag automaticGainControlV1 = Tag::automaticGainControlV1;
768 static const inline Tag automaticGainControlV2 = Tag::automaticGainControlV2;
769 static const inline Tag bassBoost = Tag::bassBoost;
770 static const inline Tag downmix = Tag::downmix;
771 static const inline Tag dynamicsProcessing = Tag::dynamicsProcessing;
772 static const inline Tag environmentalReverb = Tag::environmentalReverb;
773 static const inline Tag equalizer = Tag::equalizer;
774 static const inline Tag hapticGenerator = Tag::hapticGenerator;
775 static const inline Tag loudnessEnhancer = Tag::loudnessEnhancer;
776 static const inline Tag noiseSuppression = Tag::noiseSuppression;
777 static const inline Tag presetReverb = Tag::presetReverb;
778 static const inline Tag virtualizer = Tag::virtualizer;
779 static const inline Tag visualizer = Tag::visualizer;
780 static const inline Tag volume = Tag::volume;
781 static const inline Tag spatializer = Tag::spatializer;
782
783 template<typename _Tp>
784 static constexpr bool _not_self = !std::is_same_v<std::remove_cv_t<std::remove_reference_t<_Tp>>, Range>;
785
Range()786 Range() : _value(std::in_place_index<static_cast<size_t>(vendorExtension)>, std::vector<::aidl::android::hardware::audio::effect::Range::VendorExtensionRange>({})) { }
787
788 template <typename _Tp, typename = std::enable_if_t<_not_self<_Tp>>>
789 // NOLINTNEXTLINE(google-explicit-constructor)
Range(_Tp && _arg)790 constexpr Range(_Tp&& _arg)
791 : _value(std::forward<_Tp>(_arg)) {}
792
793 template <size_t _Np, typename... _Tp>
Range(std::in_place_index_t<_Np>,_Tp &&..._args)794 constexpr explicit Range(std::in_place_index_t<_Np>, _Tp&&... _args)
795 : _value(std::in_place_index<_Np>, std::forward<_Tp>(_args)...) {}
796
797 template <Tag _tag, typename... _Tp>
make(_Tp &&..._args)798 static Range make(_Tp&&... _args) {
799 return Range(std::in_place_index<static_cast<size_t>(_tag)>, std::forward<_Tp>(_args)...);
800 }
801
802 template <Tag _tag, typename _Tp, typename... _Up>
make(std::initializer_list<_Tp> _il,_Up &&..._args)803 static Range make(std::initializer_list<_Tp> _il, _Up&&... _args) {
804 return Range(std::in_place_index<static_cast<size_t>(_tag)>, std::move(_il), std::forward<_Up>(_args)...);
805 }
806
getTag()807 Tag getTag() const {
808 return static_cast<Tag>(_value.index());
809 }
810
811 template <Tag _tag>
get()812 const auto& get() const {
813 if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
814 return std::get<static_cast<size_t>(_tag)>(_value);
815 }
816
817 template <Tag _tag>
get()818 auto& get() {
819 if (getTag() != _tag) { __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, "bad access: a wrong tag"); }
820 return std::get<static_cast<size_t>(_tag)>(_value);
821 }
822
823 template <Tag _tag, typename... _Tp>
set(_Tp &&..._args)824 void set(_Tp&&... _args) {
825 _value.emplace<static_cast<size_t>(_tag)>(std::forward<_Tp>(_args)...);
826 }
827
828 binder_status_t readFromParcel(const AParcel* _parcel);
829 binder_status_t writeToParcel(AParcel* _parcel) const;
830
831 inline bool operator==(const Range& _rhs) const {
832 return _value == _rhs._value;
833 }
834 inline bool operator<(const Range& _rhs) const {
835 return _value < _rhs._value;
836 }
837 inline bool operator!=(const Range& _rhs) const {
838 return !(*this == _rhs);
839 }
840 inline bool operator>(const Range& _rhs) const {
841 return _rhs < *this;
842 }
843 inline bool operator>=(const Range& _rhs) const {
844 return !(*this < _rhs);
845 }
846 inline bool operator<=(const Range& _rhs) const {
847 return !(_rhs < *this);
848 }
849
850 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()851 inline std::string toString() const {
852 std::ostringstream os;
853 os << "Range{";
854 switch (getTag()) {
855 case vendorExtension: os << "vendorExtension: " << ::android::internal::ToString(get<vendorExtension>()); break;
856 case acousticEchoCanceler: os << "acousticEchoCanceler: " << ::android::internal::ToString(get<acousticEchoCanceler>()); break;
857 case automaticGainControlV1: os << "automaticGainControlV1: " << ::android::internal::ToString(get<automaticGainControlV1>()); break;
858 case automaticGainControlV2: os << "automaticGainControlV2: " << ::android::internal::ToString(get<automaticGainControlV2>()); break;
859 case bassBoost: os << "bassBoost: " << ::android::internal::ToString(get<bassBoost>()); break;
860 case downmix: os << "downmix: " << ::android::internal::ToString(get<downmix>()); break;
861 case dynamicsProcessing: os << "dynamicsProcessing: " << ::android::internal::ToString(get<dynamicsProcessing>()); break;
862 case environmentalReverb: os << "environmentalReverb: " << ::android::internal::ToString(get<environmentalReverb>()); break;
863 case equalizer: os << "equalizer: " << ::android::internal::ToString(get<equalizer>()); break;
864 case hapticGenerator: os << "hapticGenerator: " << ::android::internal::ToString(get<hapticGenerator>()); break;
865 case loudnessEnhancer: os << "loudnessEnhancer: " << ::android::internal::ToString(get<loudnessEnhancer>()); break;
866 case noiseSuppression: os << "noiseSuppression: " << ::android::internal::ToString(get<noiseSuppression>()); break;
867 case presetReverb: os << "presetReverb: " << ::android::internal::ToString(get<presetReverb>()); break;
868 case virtualizer: os << "virtualizer: " << ::android::internal::ToString(get<virtualizer>()); break;
869 case visualizer: os << "visualizer: " << ::android::internal::ToString(get<visualizer>()); break;
870 case volume: os << "volume: " << ::android::internal::ToString(get<volume>()); break;
871 case spatializer: os << "spatializer: " << ::android::internal::ToString(get<spatializer>()); break;
872 }
873 os << "}";
874 return os.str();
875 }
876 private:
877 std::variant<std::vector<::aidl::android::hardware::audio::effect::Range::VendorExtensionRange>, std::vector<::aidl::android::hardware::audio::effect::Range::AcousticEchoCancelerRange>, std::vector<::aidl::android::hardware::audio::effect::Range::AutomaticGainControlV1Range>, std::vector<::aidl::android::hardware::audio::effect::Range::AutomaticGainControlV2Range>, std::vector<::aidl::android::hardware::audio::effect::Range::BassBoostRange>, std::vector<::aidl::android::hardware::audio::effect::Range::DownmixRange>, std::vector<::aidl::android::hardware::audio::effect::Range::DynamicsProcessingRange>, std::vector<::aidl::android::hardware::audio::effect::Range::EnvironmentalReverbRange>, std::vector<::aidl::android::hardware::audio::effect::Range::EqualizerRange>, std::vector<::aidl::android::hardware::audio::effect::Range::HapticGeneratorRange>, std::vector<::aidl::android::hardware::audio::effect::Range::LoudnessEnhancerRange>, std::vector<::aidl::android::hardware::audio::effect::Range::NoiseSuppressionRange>, std::vector<::aidl::android::hardware::audio::effect::Range::PresetReverbRange>, std::vector<::aidl::android::hardware::audio::effect::Range::VirtualizerRange>, std::vector<::aidl::android::hardware::audio::effect::Range::VisualizerRange>, std::vector<::aidl::android::hardware::audio::effect::Range::VolumeRange>, std::vector<::aidl::android::hardware::audio::effect::Range::SpatializerRange>> _value;
878 };
879 } // namespace effect
880 } // namespace audio
881 } // namespace hardware
882 } // namespace android
883 } // namespace aidl
884 namespace aidl {
885 namespace android {
886 namespace hardware {
887 namespace audio {
888 namespace effect {
toString(Range::Tag val)889 [[nodiscard]] static inline std::string toString(Range::Tag val) {
890 switch(val) {
891 case Range::Tag::vendorExtension:
892 return "vendorExtension";
893 case Range::Tag::acousticEchoCanceler:
894 return "acousticEchoCanceler";
895 case Range::Tag::automaticGainControlV1:
896 return "automaticGainControlV1";
897 case Range::Tag::automaticGainControlV2:
898 return "automaticGainControlV2";
899 case Range::Tag::bassBoost:
900 return "bassBoost";
901 case Range::Tag::downmix:
902 return "downmix";
903 case Range::Tag::dynamicsProcessing:
904 return "dynamicsProcessing";
905 case Range::Tag::environmentalReverb:
906 return "environmentalReverb";
907 case Range::Tag::equalizer:
908 return "equalizer";
909 case Range::Tag::hapticGenerator:
910 return "hapticGenerator";
911 case Range::Tag::loudnessEnhancer:
912 return "loudnessEnhancer";
913 case Range::Tag::noiseSuppression:
914 return "noiseSuppression";
915 case Range::Tag::presetReverb:
916 return "presetReverb";
917 case Range::Tag::virtualizer:
918 return "virtualizer";
919 case Range::Tag::visualizer:
920 return "visualizer";
921 case Range::Tag::volume:
922 return "volume";
923 case Range::Tag::spatializer:
924 return "spatializer";
925 default:
926 return std::to_string(static_cast<int32_t>(val));
927 }
928 }
929 } // namespace effect
930 } // namespace audio
931 } // namespace hardware
932 } // namespace android
933 } // namespace aidl
934 namespace ndk {
935 namespace internal {
936 #pragma clang diagnostic push
937 #pragma clang diagnostic ignored "-Wc++17-extensions"
938 template <>
939 constexpr inline std::array<aidl::android::hardware::audio::effect::Range::Tag, 17> enum_values<aidl::android::hardware::audio::effect::Range::Tag> = {
940 aidl::android::hardware::audio::effect::Range::Tag::vendorExtension,
941 aidl::android::hardware::audio::effect::Range::Tag::acousticEchoCanceler,
942 aidl::android::hardware::audio::effect::Range::Tag::automaticGainControlV1,
943 aidl::android::hardware::audio::effect::Range::Tag::automaticGainControlV2,
944 aidl::android::hardware::audio::effect::Range::Tag::bassBoost,
945 aidl::android::hardware::audio::effect::Range::Tag::downmix,
946 aidl::android::hardware::audio::effect::Range::Tag::dynamicsProcessing,
947 aidl::android::hardware::audio::effect::Range::Tag::environmentalReverb,
948 aidl::android::hardware::audio::effect::Range::Tag::equalizer,
949 aidl::android::hardware::audio::effect::Range::Tag::hapticGenerator,
950 aidl::android::hardware::audio::effect::Range::Tag::loudnessEnhancer,
951 aidl::android::hardware::audio::effect::Range::Tag::noiseSuppression,
952 aidl::android::hardware::audio::effect::Range::Tag::presetReverb,
953 aidl::android::hardware::audio::effect::Range::Tag::virtualizer,
954 aidl::android::hardware::audio::effect::Range::Tag::visualizer,
955 aidl::android::hardware::audio::effect::Range::Tag::volume,
956 aidl::android::hardware::audio::effect::Range::Tag::spatializer,
957 };
958 #pragma clang diagnostic pop
959 } // namespace internal
960 } // namespace ndk
961