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 -Werror -Weverything --structured --version 1 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl --ninja -d out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.eraser.types-V1-ndk-source/gen/staging/android/media/audio/eraser/Capability.cpp.d -h out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.eraser.types-V1-ndk-source/gen/include/staging -o out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.eraser.types-V1-ndk-source/gen/staging -Nsystem/hardware/interfaces/media/aidl system/hardware/interfaces/media/aidl/android/media/audio/eraser/Capability.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/media/audio/common/AudioChannelLayout.h>
20 #include <aidl/android/media/audio/eraser/ClassifierCapability.h>
21 #include <aidl/android/media/audio/eraser/Mode.h>
22 #include <aidl/android/media/audio/eraser/RemixerCapability.h>
23 #include <aidl/android/media/audio/eraser/SeparatorCapability.h>
24 #ifdef BINDER_STABILITY_SUPPORT
25 #include <android/binder_stability.h>
26 #endif  // BINDER_STABILITY_SUPPORT
27 
28 namespace aidl::android::media::audio::eraser {
29 class ClassifierCapability;
30 class RemixerCapability;
31 class SeparatorCapability;
32 }  // namespace aidl::android::media::audio::eraser
33 namespace aidl {
34 namespace android {
35 namespace media {
36 namespace audio {
37 namespace eraser {
38 class Capability {
39 public:
40   typedef std::false_type fixed_size;
41   static const char* descriptor;
42 
43   std::vector<int32_t> sampleRates;
44   std::vector<::aidl::android::media::audio::common::AudioChannelLayout> channelLayouts;
45   std::vector<::aidl::android::media::audio::eraser::Mode> modes;
46   ::aidl::android::media::audio::eraser::SeparatorCapability separator;
47   ::aidl::android::media::audio::eraser::ClassifierCapability classifier;
48   ::aidl::android::media::audio::eraser::RemixerCapability remixer;
49 
50   binder_status_t readFromParcel(const AParcel* parcel);
51   binder_status_t writeToParcel(AParcel* parcel) const;
52 
53   inline bool operator==(const Capability& _rhs) const {
54     return std::tie(sampleRates, channelLayouts, modes, separator, classifier, remixer) == std::tie(_rhs.sampleRates, _rhs.channelLayouts, _rhs.modes, _rhs.separator, _rhs.classifier, _rhs.remixer);
55   }
56   inline bool operator<(const Capability& _rhs) const {
57     return std::tie(sampleRates, channelLayouts, modes, separator, classifier, remixer) < std::tie(_rhs.sampleRates, _rhs.channelLayouts, _rhs.modes, _rhs.separator, _rhs.classifier, _rhs.remixer);
58   }
59   inline bool operator!=(const Capability& _rhs) const {
60     return !(*this == _rhs);
61   }
62   inline bool operator>(const Capability& _rhs) const {
63     return _rhs < *this;
64   }
65   inline bool operator>=(const Capability& _rhs) const {
66     return !(*this < _rhs);
67   }
68   inline bool operator<=(const Capability& _rhs) const {
69     return !(_rhs < *this);
70   }
71 
72   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()73   inline std::string toString() const {
74     std::ostringstream _aidl_os;
75     _aidl_os << "Capability{";
76     _aidl_os << "sampleRates: " << ::android::internal::ToString(sampleRates);
77     _aidl_os << ", channelLayouts: " << ::android::internal::ToString(channelLayouts);
78     _aidl_os << ", modes: " << ::android::internal::ToString(modes);
79     _aidl_os << ", separator: " << ::android::internal::ToString(separator);
80     _aidl_os << ", classifier: " << ::android::internal::ToString(classifier);
81     _aidl_os << ", remixer: " << ::android::internal::ToString(remixer);
82     _aidl_os << "}";
83     return _aidl_os.str();
84   }
85 };
86 }  // namespace eraser
87 }  // namespace audio
88 }  // namespace media
89 }  // namespace android
90 }  // namespace aidl
91