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/AudioHalProductStrategy.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/AudioHalProductStrategy.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 <cstdint>
13 #include <memory>
14 #include <optional>
15 #include <string>
16 #include <vector>
17 #include <android/binder_enums.h>
18 #include <android/binder_interface_utils.h>
19 #include <android/binder_parcelable_utils.h>
20 #include <android/binder_to_string.h>
21 #include <aidl/android/media/audio/common/AudioHalAttributesGroup.h>
22 #include <aidl/android/media/audio/common/AudioHalProductStrategy.h>
23 #include <aidl/android/media/audio/common/AudioProductStrategyType.h>
24 #ifdef BINDER_STABILITY_SUPPORT
25 #include <android/binder_stability.h>
26 #endif  // BINDER_STABILITY_SUPPORT
27 
28 namespace aidl::android::media::audio::common {
29 class AudioHalAttributesGroup;
30 }  // namespace aidl::android::media::audio::common
31 namespace aidl {
32 namespace android {
33 namespace media {
34 namespace audio {
35 namespace common {
36 class AudioHalProductStrategy {
37 public:
38   typedef std::false_type fixed_size;
39   static const char* descriptor;
40 
41   enum class ZoneId : int32_t {
42     DEFAULT = 0,
43   };
44 
45   int32_t id = -1;
46   std::vector<::aidl::android::media::audio::common::AudioHalAttributesGroup> attributesGroups;
47   std::optional<std::string> name;
48   int32_t zoneId = 0;
49 
50   binder_status_t readFromParcel(const AParcel* parcel);
51   binder_status_t writeToParcel(AParcel* parcel) const;
52 
53   inline bool operator==(const AudioHalProductStrategy& _rhs) const {
54     return std::tie(id, attributesGroups, name, zoneId) == std::tie(_rhs.id, _rhs.attributesGroups, _rhs.name, _rhs.zoneId);
55   }
56   inline bool operator<(const AudioHalProductStrategy& _rhs) const {
57     return std::tie(id, attributesGroups, name, zoneId) < std::tie(_rhs.id, _rhs.attributesGroups, _rhs.name, _rhs.zoneId);
58   }
59   inline bool operator!=(const AudioHalProductStrategy& _rhs) const {
60     return !(*this == _rhs);
61   }
62   inline bool operator>(const AudioHalProductStrategy& _rhs) const {
63     return _rhs < *this;
64   }
65   inline bool operator>=(const AudioHalProductStrategy& _rhs) const {
66     return !(*this < _rhs);
67   }
68   inline bool operator<=(const AudioHalProductStrategy& _rhs) const {
69     return !(_rhs < *this);
70   }
71 
72   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
73   enum : int32_t { VENDOR_STRATEGY_ID_START = 1000 };
toString()74   inline std::string toString() const {
75     std::ostringstream _aidl_os;
76     _aidl_os << "AudioHalProductStrategy{";
77     _aidl_os << "id: " << ::android::internal::ToString(id);
78     _aidl_os << ", attributesGroups: " << ::android::internal::ToString(attributesGroups);
79     _aidl_os << ", name: " << ::android::internal::ToString(name);
80     _aidl_os << ", zoneId: " << ::android::internal::ToString(zoneId);
81     _aidl_os << "}";
82     return _aidl_os.str();
83   }
84 };
85 }  // namespace common
86 }  // namespace audio
87 }  // namespace media
88 }  // namespace android
89 }  // namespace aidl
90 namespace aidl {
91 namespace android {
92 namespace media {
93 namespace audio {
94 namespace common {
toString(AudioHalProductStrategy::ZoneId val)95 [[nodiscard]] static inline std::string toString(AudioHalProductStrategy::ZoneId val) {
96   switch(val) {
97   case AudioHalProductStrategy::ZoneId::DEFAULT:
98     return "DEFAULT";
99   default:
100     return std::to_string(static_cast<int32_t>(val));
101   }
102 }
103 }  // namespace common
104 }  // namespace audio
105 }  // namespace media
106 }  // namespace android
107 }  // namespace aidl
108 namespace ndk {
109 namespace internal {
110 #pragma clang diagnostic push
111 #pragma clang diagnostic ignored "-Wc++17-extensions"
112 template <>
113 constexpr inline std::array<aidl::android::media::audio::common::AudioHalProductStrategy::ZoneId, 1> enum_values<aidl::android::media::audio::common::AudioHalProductStrategy::ZoneId> = {
114   aidl::android::media::audio::common::AudioHalProductStrategy::ZoneId::DEFAULT,
115 };
116 #pragma clang diagnostic pop
117 }  // namespace internal
118 }  // namespace ndk
119