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 4 --hash notfrozen -t --stability vintf --min_sdk_version 29 --previous_api_dir=system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/3 --previous_hash 0c86a38729dd5d560fe3a0eca6aa9d8cf83efb00 --ninja -d out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/staging/android/media/audio/common/AudioAttributes.cpp.d -h out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types-V4-ndk-source/gen/staging -Nsystem/hardware/interfaces/media/aidl system/hardware/interfaces/media/aidl/android/media/audio/common/AudioAttributes.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/AudioContentType.h>
20 #include <aidl/android/media/audio/common/AudioFlag.h>
21 #include <aidl/android/media/audio/common/AudioSource.h>
22 #include <aidl/android/media/audio/common/AudioUsage.h>
23 #ifdef BINDER_STABILITY_SUPPORT
24 #include <android/binder_stability.h>
25 #endif  // BINDER_STABILITY_SUPPORT
26 
27 namespace aidl {
28 namespace android {
29 namespace media {
30 namespace audio {
31 namespace common {
32 class AudioAttributes {
33 public:
34   typedef std::false_type fixed_size;
35   static const char* descriptor;
36 
37   ::aidl::android::media::audio::common::AudioContentType contentType = ::aidl::android::media::audio::common::AudioContentType::UNKNOWN;
38   ::aidl::android::media::audio::common::AudioUsage usage = ::aidl::android::media::audio::common::AudioUsage::UNKNOWN;
39   ::aidl::android::media::audio::common::AudioSource source = ::aidl::android::media::audio::common::AudioSource::DEFAULT;
40   int32_t flags = 0;
41   std::vector<std::string> tags;
42 
43   binder_status_t readFromParcel(const AParcel* parcel);
44   binder_status_t writeToParcel(AParcel* parcel) const;
45 
46   inline bool operator==(const AudioAttributes& _rhs) const {
47     return std::tie(contentType, usage, source, flags, tags) == std::tie(_rhs.contentType, _rhs.usage, _rhs.source, _rhs.flags, _rhs.tags);
48   }
49   inline bool operator<(const AudioAttributes& _rhs) const {
50     return std::tie(contentType, usage, source, flags, tags) < std::tie(_rhs.contentType, _rhs.usage, _rhs.source, _rhs.flags, _rhs.tags);
51   }
52   inline bool operator!=(const AudioAttributes& _rhs) const {
53     return !(*this == _rhs);
54   }
55   inline bool operator>(const AudioAttributes& _rhs) const {
56     return _rhs < *this;
57   }
58   inline bool operator>=(const AudioAttributes& _rhs) const {
59     return !(*this < _rhs);
60   }
61   inline bool operator<=(const AudioAttributes& _rhs) const {
62     return !(_rhs < *this);
63   }
64 
65   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()66   inline std::string toString() const {
67     std::ostringstream _aidl_os;
68     _aidl_os << "AudioAttributes{";
69     _aidl_os << "contentType: " << ::android::internal::ToString(contentType);
70     _aidl_os << ", usage: " << ::android::internal::ToString(usage);
71     _aidl_os << ", source: " << ::android::internal::ToString(source);
72     _aidl_os << ", flags: " << ::android::internal::ToString(flags);
73     _aidl_os << ", tags: " << ::android::internal::ToString(tags);
74     _aidl_os << "}";
75     return _aidl_os.str();
76   }
77 };
78 }  // namespace common
79 }  // namespace audio
80 }  // namespace media
81 }  // namespace android
82 }  // namespace aidl
83