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 5 --hash notfrozen -t --stability vintf --min_sdk_version 31 -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/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/4 --previous_hash ac25616dda1c45dc2915d3f5ac82687a1a6f6e46 --ninja -d out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/staging/android/hardware/bluetooth/audio/LeAudioAseConfiguration.cpp.d -h out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/bluetooth/audio/aidl/android.hardware.bluetooth.audio-V5-ndk-source/gen/staging -Nhardware/interfaces/bluetooth/audio/aidl hardware/interfaces/bluetooth/audio/aidl/android/hardware/bluetooth/audio/LeAudioAseConfiguration.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/hardware/bluetooth/audio/CodecId.h>
22 #include <aidl/android/hardware/bluetooth/audio/CodecSpecificConfigurationLtv.h>
23 #include <aidl/android/hardware/bluetooth/audio/LeAudioAseConfiguration.h>
24 #include <aidl/android/hardware/bluetooth/audio/MetadataLtv.h>
25 #include <aidl/android/hardware/bluetooth/audio/Phy.h>
26 #ifdef BINDER_STABILITY_SUPPORT
27 #include <android/binder_stability.h>
28 #endif  // BINDER_STABILITY_SUPPORT
29 
30 namespace aidl {
31 namespace android {
32 namespace hardware {
33 namespace bluetooth {
34 namespace audio {
35 class LeAudioAseConfiguration {
36 public:
37   typedef std::false_type fixed_size;
38   static const char* descriptor;
39 
40   enum class TargetLatency : int8_t {
41     UNDEFINED = 0,
42     LOWER = 1,
43     BALANCED_LATENCY_RELIABILITY = 2,
44     HIGHER_RELIABILITY = 3,
45   };
46 
47   ::aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency targetLatency = ::aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency(0);
48   ::aidl::android::hardware::bluetooth::audio::Phy targetPhy = ::aidl::android::hardware::bluetooth::audio::Phy(0);
49   std::optional<::aidl::android::hardware::bluetooth::audio::CodecId> codecId;
50   std::vector<::aidl::android::hardware::bluetooth::audio::CodecSpecificConfigurationLtv> codecConfiguration;
51   std::optional<std::vector<uint8_t>> vendorCodecConfiguration;
52   std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>> metadata;
53 
54   binder_status_t readFromParcel(const AParcel* parcel);
55   binder_status_t writeToParcel(AParcel* parcel) const;
56 
57   inline bool operator==(const LeAudioAseConfiguration& _rhs) const {
58     return std::tie(targetLatency, targetPhy, codecId, codecConfiguration, vendorCodecConfiguration, metadata) == std::tie(_rhs.targetLatency, _rhs.targetPhy, _rhs.codecId, _rhs.codecConfiguration, _rhs.vendorCodecConfiguration, _rhs.metadata);
59   }
60   inline bool operator<(const LeAudioAseConfiguration& _rhs) const {
61     return std::tie(targetLatency, targetPhy, codecId, codecConfiguration, vendorCodecConfiguration, metadata) < std::tie(_rhs.targetLatency, _rhs.targetPhy, _rhs.codecId, _rhs.codecConfiguration, _rhs.vendorCodecConfiguration, _rhs.metadata);
62   }
63   inline bool operator!=(const LeAudioAseConfiguration& _rhs) const {
64     return !(*this == _rhs);
65   }
66   inline bool operator>(const LeAudioAseConfiguration& _rhs) const {
67     return _rhs < *this;
68   }
69   inline bool operator>=(const LeAudioAseConfiguration& _rhs) const {
70     return !(*this < _rhs);
71   }
72   inline bool operator<=(const LeAudioAseConfiguration& _rhs) const {
73     return !(_rhs < *this);
74   }
75 
76   static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()77   inline std::string toString() const {
78     std::ostringstream _aidl_os;
79     _aidl_os << "LeAudioAseConfiguration{";
80     _aidl_os << "targetLatency: " << ::android::internal::ToString(targetLatency);
81     _aidl_os << ", targetPhy: " << ::android::internal::ToString(targetPhy);
82     _aidl_os << ", codecId: " << ::android::internal::ToString(codecId);
83     _aidl_os << ", codecConfiguration: " << ::android::internal::ToString(codecConfiguration);
84     _aidl_os << ", vendorCodecConfiguration: " << ::android::internal::ToString(vendorCodecConfiguration);
85     _aidl_os << ", metadata: " << ::android::internal::ToString(metadata);
86     _aidl_os << "}";
87     return _aidl_os.str();
88   }
89 };
90 }  // namespace audio
91 }  // namespace bluetooth
92 }  // namespace hardware
93 }  // namespace android
94 }  // namespace aidl
95 namespace aidl {
96 namespace android {
97 namespace hardware {
98 namespace bluetooth {
99 namespace audio {
toString(LeAudioAseConfiguration::TargetLatency val)100 [[nodiscard]] static inline std::string toString(LeAudioAseConfiguration::TargetLatency val) {
101   switch(val) {
102   case LeAudioAseConfiguration::TargetLatency::UNDEFINED:
103     return "UNDEFINED";
104   case LeAudioAseConfiguration::TargetLatency::LOWER:
105     return "LOWER";
106   case LeAudioAseConfiguration::TargetLatency::BALANCED_LATENCY_RELIABILITY:
107     return "BALANCED_LATENCY_RELIABILITY";
108   case LeAudioAseConfiguration::TargetLatency::HIGHER_RELIABILITY:
109     return "HIGHER_RELIABILITY";
110   default:
111     return std::to_string(static_cast<int8_t>(val));
112   }
113 }
114 }  // namespace audio
115 }  // namespace bluetooth
116 }  // namespace hardware
117 }  // namespace android
118 }  // namespace aidl
119 namespace ndk {
120 namespace internal {
121 #pragma clang diagnostic push
122 #pragma clang diagnostic ignored "-Wc++17-extensions"
123 template <>
124 constexpr inline std::array<aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency, 4> enum_values<aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency> = {
125   aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency::UNDEFINED,
126   aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency::LOWER,
127   aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency::BALANCED_LATENCY_RELIABILITY,
128   aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration::TargetLatency::HIGHER_RELIABILITY,
129 };
130 #pragma clang diagnostic pop
131 }  // namespace internal
132 }  // namespace ndk
133