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/IBluetoothAudioProvider.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/IBluetoothAudioProvider.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/A2dpConfiguration.h>
22 #include <aidl/android/hardware/bluetooth/audio/A2dpConfigurationHint.h>
23 #include <aidl/android/hardware/bluetooth/audio/A2dpRemoteCapabilities.h>
24 #include <aidl/android/hardware/bluetooth/audio/A2dpStatus.h>
25 #include <aidl/android/hardware/bluetooth/audio/AudioConfiguration.h>
26 #include <aidl/android/hardware/bluetooth/audio/AudioContext.h>
27 #include <aidl/android/hardware/bluetooth/audio/BluetoothAudioStatus.h>
28 #include <aidl/android/hardware/bluetooth/audio/CodecId.h>
29 #include <aidl/android/hardware/bluetooth/audio/CodecParameters.h>
30 #include <aidl/android/hardware/bluetooth/audio/CodecSpecificCapabilitiesLtv.h>
31 #include <aidl/android/hardware/bluetooth/audio/ConfigurationFlags.h>
32 #include <aidl/android/hardware/bluetooth/audio/IBluetoothAudioPort.h>
33 #include <aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.h>
34 #include <aidl/android/hardware/bluetooth/audio/LatencyMode.h>
35 #include <aidl/android/hardware/bluetooth/audio/LeAudioAseConfiguration.h>
36 #include <aidl/android/hardware/bluetooth/audio/LeAudioBisConfiguration.h>
37 #include <aidl/android/hardware/bluetooth/audio/LeAudioBroadcastConfiguration.h>
38 #include <aidl/android/hardware/bluetooth/audio/LeAudioConfiguration.h>
39 #include <aidl/android/hardware/bluetooth/audio/MetadataLtv.h>
40 #include <aidl/android/hardware/bluetooth/audio/Phy.h>
41 #include <aidl/android/hardware/common/fmq/MQDescriptor.h>
42 #include <aidl/android/hardware/common/fmq/SynchronizedReadWrite.h>
43 #ifdef BINDER_STABILITY_SUPPORT
44 #include <android/binder_stability.h>
45 #endif // BINDER_STABILITY_SUPPORT
46
47 namespace aidl::android::hardware::bluetooth::audio {
48 class A2dpConfiguration;
49 class A2dpConfigurationHint;
50 class A2dpRemoteCapabilities;
51 class AudioContext;
52 class CodecParameters;
53 class ConfigurationFlags;
54 class IBluetoothAudioPort;
55 class LeAudioAseConfiguration;
56 class LeAudioBisConfiguration;
57 } // namespace aidl::android::hardware::bluetooth::audio
58 namespace aidl::android::hardware::common::fmq {
59 template <typename T, typename Flavor>
60 class MQDescriptor;
61 } // namespace aidl::android::hardware::common::fmq
62 namespace aidl {
63 namespace android {
64 namespace hardware {
65 namespace bluetooth {
66 namespace audio {
67 class IBluetoothAudioProviderDelegator;
68
69 class IBluetoothAudioProvider : public ::ndk::ICInterface {
70 public:
71 typedef IBluetoothAudioProviderDelegator DefaultDelegator;
72 static const char* descriptor;
73 IBluetoothAudioProvider();
74 virtual ~IBluetoothAudioProvider();
75
76 class LeAudioDeviceCapabilities {
77 public:
78 typedef std::false_type fixed_size;
79 static const char* descriptor;
80
81 ::aidl::android::hardware::bluetooth::audio::CodecId codecId;
82 std::vector<::aidl::android::hardware::bluetooth::audio::CodecSpecificCapabilitiesLtv> codecSpecificCapabilities;
83 std::optional<std::vector<uint8_t>> vendorCodecSpecificCapabilities;
84 std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>> metadata;
85
86 binder_status_t readFromParcel(const AParcel* parcel);
87 binder_status_t writeToParcel(AParcel* parcel) const;
88
89 inline bool operator==(const LeAudioDeviceCapabilities& _rhs) const {
90 return std::tie(codecId, codecSpecificCapabilities, vendorCodecSpecificCapabilities, metadata) == std::tie(_rhs.codecId, _rhs.codecSpecificCapabilities, _rhs.vendorCodecSpecificCapabilities, _rhs.metadata);
91 }
92 inline bool operator<(const LeAudioDeviceCapabilities& _rhs) const {
93 return std::tie(codecId, codecSpecificCapabilities, vendorCodecSpecificCapabilities, metadata) < std::tie(_rhs.codecId, _rhs.codecSpecificCapabilities, _rhs.vendorCodecSpecificCapabilities, _rhs.metadata);
94 }
95 inline bool operator!=(const LeAudioDeviceCapabilities& _rhs) const {
96 return !(*this == _rhs);
97 }
98 inline bool operator>(const LeAudioDeviceCapabilities& _rhs) const {
99 return _rhs < *this;
100 }
101 inline bool operator>=(const LeAudioDeviceCapabilities& _rhs) const {
102 return !(*this < _rhs);
103 }
104 inline bool operator<=(const LeAudioDeviceCapabilities& _rhs) const {
105 return !(_rhs < *this);
106 }
107
108 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()109 inline std::string toString() const {
110 std::ostringstream _aidl_os;
111 _aidl_os << "LeAudioDeviceCapabilities{";
112 _aidl_os << "codecId: " << ::android::internal::ToString(codecId);
113 _aidl_os << ", codecSpecificCapabilities: " << ::android::internal::ToString(codecSpecificCapabilities);
114 _aidl_os << ", vendorCodecSpecificCapabilities: " << ::android::internal::ToString(vendorCodecSpecificCapabilities);
115 _aidl_os << ", metadata: " << ::android::internal::ToString(metadata);
116 _aidl_os << "}";
117 return _aidl_os.str();
118 }
119 };
120 class LeAudioDataPathConfiguration {
121 public:
122 typedef std::false_type fixed_size;
123 static const char* descriptor;
124
125 class IsoDataPathConfiguration {
126 public:
127 typedef std::false_type fixed_size;
128 static const char* descriptor;
129
130 ::aidl::android::hardware::bluetooth::audio::CodecId codecId;
131 bool isTransparent = false;
132 int32_t controllerDelayUs = 0;
133 std::optional<std::vector<uint8_t>> configuration;
134
135 binder_status_t readFromParcel(const AParcel* parcel);
136 binder_status_t writeToParcel(AParcel* parcel) const;
137
138 inline bool operator==(const IsoDataPathConfiguration& _rhs) const {
139 return std::tie(codecId, isTransparent, controllerDelayUs, configuration) == std::tie(_rhs.codecId, _rhs.isTransparent, _rhs.controllerDelayUs, _rhs.configuration);
140 }
141 inline bool operator<(const IsoDataPathConfiguration& _rhs) const {
142 return std::tie(codecId, isTransparent, controllerDelayUs, configuration) < std::tie(_rhs.codecId, _rhs.isTransparent, _rhs.controllerDelayUs, _rhs.configuration);
143 }
144 inline bool operator!=(const IsoDataPathConfiguration& _rhs) const {
145 return !(*this == _rhs);
146 }
147 inline bool operator>(const IsoDataPathConfiguration& _rhs) const {
148 return _rhs < *this;
149 }
150 inline bool operator>=(const IsoDataPathConfiguration& _rhs) const {
151 return !(*this < _rhs);
152 }
153 inline bool operator<=(const IsoDataPathConfiguration& _rhs) const {
154 return !(_rhs < *this);
155 }
156
157 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()158 inline std::string toString() const {
159 std::ostringstream _aidl_os;
160 _aidl_os << "IsoDataPathConfiguration{";
161 _aidl_os << "codecId: " << ::android::internal::ToString(codecId);
162 _aidl_os << ", isTransparent: " << ::android::internal::ToString(isTransparent);
163 _aidl_os << ", controllerDelayUs: " << ::android::internal::ToString(controllerDelayUs);
164 _aidl_os << ", configuration: " << ::android::internal::ToString(configuration);
165 _aidl_os << "}";
166 return _aidl_os.str();
167 }
168 };
169 class DataPathConfiguration {
170 public:
171 typedef std::false_type fixed_size;
172 static const char* descriptor;
173
174 std::optional<std::vector<uint8_t>> configuration;
175
176 binder_status_t readFromParcel(const AParcel* parcel);
177 binder_status_t writeToParcel(AParcel* parcel) const;
178
179 inline bool operator==(const DataPathConfiguration& _rhs) const {
180 return std::tie(configuration) == std::tie(_rhs.configuration);
181 }
182 inline bool operator<(const DataPathConfiguration& _rhs) const {
183 return std::tie(configuration) < std::tie(_rhs.configuration);
184 }
185 inline bool operator!=(const DataPathConfiguration& _rhs) const {
186 return !(*this == _rhs);
187 }
188 inline bool operator>(const DataPathConfiguration& _rhs) const {
189 return _rhs < *this;
190 }
191 inline bool operator>=(const DataPathConfiguration& _rhs) const {
192 return !(*this < _rhs);
193 }
194 inline bool operator<=(const DataPathConfiguration& _rhs) const {
195 return !(_rhs < *this);
196 }
197
198 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()199 inline std::string toString() const {
200 std::ostringstream _aidl_os;
201 _aidl_os << "DataPathConfiguration{";
202 _aidl_os << "configuration: " << ::android::internal::ToString(configuration);
203 _aidl_os << "}";
204 return _aidl_os.str();
205 }
206 };
207 int32_t dataPathId = 0;
208 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration::DataPathConfiguration dataPathConfiguration;
209 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration::IsoDataPathConfiguration isoDataPathConfiguration;
210
211 binder_status_t readFromParcel(const AParcel* parcel);
212 binder_status_t writeToParcel(AParcel* parcel) const;
213
214 inline bool operator==(const LeAudioDataPathConfiguration& _rhs) const {
215 return std::tie(dataPathId, dataPathConfiguration, isoDataPathConfiguration) == std::tie(_rhs.dataPathId, _rhs.dataPathConfiguration, _rhs.isoDataPathConfiguration);
216 }
217 inline bool operator<(const LeAudioDataPathConfiguration& _rhs) const {
218 return std::tie(dataPathId, dataPathConfiguration, isoDataPathConfiguration) < std::tie(_rhs.dataPathId, _rhs.dataPathConfiguration, _rhs.isoDataPathConfiguration);
219 }
220 inline bool operator!=(const LeAudioDataPathConfiguration& _rhs) const {
221 return !(*this == _rhs);
222 }
223 inline bool operator>(const LeAudioDataPathConfiguration& _rhs) const {
224 return _rhs < *this;
225 }
226 inline bool operator>=(const LeAudioDataPathConfiguration& _rhs) const {
227 return !(*this < _rhs);
228 }
229 inline bool operator<=(const LeAudioDataPathConfiguration& _rhs) const {
230 return !(_rhs < *this);
231 }
232
233 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()234 inline std::string toString() const {
235 std::ostringstream _aidl_os;
236 _aidl_os << "LeAudioDataPathConfiguration{";
237 _aidl_os << "dataPathId: " << ::android::internal::ToString(dataPathId);
238 _aidl_os << ", dataPathConfiguration: " << ::android::internal::ToString(dataPathConfiguration);
239 _aidl_os << ", isoDataPathConfiguration: " << ::android::internal::ToString(isoDataPathConfiguration);
240 _aidl_os << "}";
241 return _aidl_os.str();
242 }
243 };
244 enum class Framing : int8_t {
245 UNFRAMED = 0,
246 FRAMED = 1,
247 };
248
249 class LeAudioAseQosConfiguration {
250 public:
251 typedef std::false_type fixed_size;
252 static const char* descriptor;
253
254 int32_t sduIntervalUs = 0;
255 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing framing = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing(0);
256 std::vector<::aidl::android::hardware::bluetooth::audio::Phy> phy;
257 int32_t maxTransportLatencyMs = 0;
258 int32_t maxSdu = 0;
259 int32_t retransmissionNum = 0;
260
261 binder_status_t readFromParcel(const AParcel* parcel);
262 binder_status_t writeToParcel(AParcel* parcel) const;
263
264 inline bool operator==(const LeAudioAseQosConfiguration& _rhs) const {
265 return std::tie(sduIntervalUs, framing, phy, maxTransportLatencyMs, maxSdu, retransmissionNum) == std::tie(_rhs.sduIntervalUs, _rhs.framing, _rhs.phy, _rhs.maxTransportLatencyMs, _rhs.maxSdu, _rhs.retransmissionNum);
266 }
267 inline bool operator<(const LeAudioAseQosConfiguration& _rhs) const {
268 return std::tie(sduIntervalUs, framing, phy, maxTransportLatencyMs, maxSdu, retransmissionNum) < std::tie(_rhs.sduIntervalUs, _rhs.framing, _rhs.phy, _rhs.maxTransportLatencyMs, _rhs.maxSdu, _rhs.retransmissionNum);
269 }
270 inline bool operator!=(const LeAudioAseQosConfiguration& _rhs) const {
271 return !(*this == _rhs);
272 }
273 inline bool operator>(const LeAudioAseQosConfiguration& _rhs) const {
274 return _rhs < *this;
275 }
276 inline bool operator>=(const LeAudioAseQosConfiguration& _rhs) const {
277 return !(*this < _rhs);
278 }
279 inline bool operator<=(const LeAudioAseQosConfiguration& _rhs) const {
280 return !(_rhs < *this);
281 }
282
283 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()284 inline std::string toString() const {
285 std::ostringstream _aidl_os;
286 _aidl_os << "LeAudioAseQosConfiguration{";
287 _aidl_os << "sduIntervalUs: " << ::android::internal::ToString(sduIntervalUs);
288 _aidl_os << ", framing: " << ::android::internal::ToString(framing);
289 _aidl_os << ", phy: " << ::android::internal::ToString(phy);
290 _aidl_os << ", maxTransportLatencyMs: " << ::android::internal::ToString(maxTransportLatencyMs);
291 _aidl_os << ", maxSdu: " << ::android::internal::ToString(maxSdu);
292 _aidl_os << ", retransmissionNum: " << ::android::internal::ToString(retransmissionNum);
293 _aidl_os << "}";
294 return _aidl_os.str();
295 }
296 };
297 enum class Packing : int8_t {
298 SEQUENTIAL = 0,
299 INTERLEAVED = 1,
300 };
301
302 class LeAudioAseConfigurationSetting {
303 public:
304 typedef std::false_type fixed_size;
305 static const char* descriptor;
306
307 class AseDirectionConfiguration {
308 public:
309 typedef std::false_type fixed_size;
310 static const char* descriptor;
311
312 ::aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration aseConfiguration;
313 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfiguration> qosConfiguration;
314 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration> dataPathConfiguration;
315
316 binder_status_t readFromParcel(const AParcel* parcel);
317 binder_status_t writeToParcel(AParcel* parcel) const;
318
319 inline bool operator==(const AseDirectionConfiguration& _rhs) const {
320 return std::tie(aseConfiguration, qosConfiguration, dataPathConfiguration) == std::tie(_rhs.aseConfiguration, _rhs.qosConfiguration, _rhs.dataPathConfiguration);
321 }
322 inline bool operator<(const AseDirectionConfiguration& _rhs) const {
323 return std::tie(aseConfiguration, qosConfiguration, dataPathConfiguration) < std::tie(_rhs.aseConfiguration, _rhs.qosConfiguration, _rhs.dataPathConfiguration);
324 }
325 inline bool operator!=(const AseDirectionConfiguration& _rhs) const {
326 return !(*this == _rhs);
327 }
328 inline bool operator>(const AseDirectionConfiguration& _rhs) const {
329 return _rhs < *this;
330 }
331 inline bool operator>=(const AseDirectionConfiguration& _rhs) const {
332 return !(*this < _rhs);
333 }
334 inline bool operator<=(const AseDirectionConfiguration& _rhs) const {
335 return !(_rhs < *this);
336 }
337
338 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()339 inline std::string toString() const {
340 std::ostringstream _aidl_os;
341 _aidl_os << "AseDirectionConfiguration{";
342 _aidl_os << "aseConfiguration: " << ::android::internal::ToString(aseConfiguration);
343 _aidl_os << ", qosConfiguration: " << ::android::internal::ToString(qosConfiguration);
344 _aidl_os << ", dataPathConfiguration: " << ::android::internal::ToString(dataPathConfiguration);
345 _aidl_os << "}";
346 return _aidl_os.str();
347 }
348 };
349 ::aidl::android::hardware::bluetooth::audio::AudioContext audioContext;
350 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing packing = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing(0);
351 std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseConfigurationSetting::AseDirectionConfiguration>>> sinkAseConfiguration;
352 std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseConfigurationSetting::AseDirectionConfiguration>>> sourceAseConfiguration;
353 std::optional<::aidl::android::hardware::bluetooth::audio::ConfigurationFlags> flags;
354
355 binder_status_t readFromParcel(const AParcel* parcel);
356 binder_status_t writeToParcel(AParcel* parcel) const;
357
358 inline bool operator==(const LeAudioAseConfigurationSetting& _rhs) const {
359 return std::tie(audioContext, packing, sinkAseConfiguration, sourceAseConfiguration, flags) == std::tie(_rhs.audioContext, _rhs.packing, _rhs.sinkAseConfiguration, _rhs.sourceAseConfiguration, _rhs.flags);
360 }
361 inline bool operator<(const LeAudioAseConfigurationSetting& _rhs) const {
362 return std::tie(audioContext, packing, sinkAseConfiguration, sourceAseConfiguration, flags) < std::tie(_rhs.audioContext, _rhs.packing, _rhs.sinkAseConfiguration, _rhs.sourceAseConfiguration, _rhs.flags);
363 }
364 inline bool operator!=(const LeAudioAseConfigurationSetting& _rhs) const {
365 return !(*this == _rhs);
366 }
367 inline bool operator>(const LeAudioAseConfigurationSetting& _rhs) const {
368 return _rhs < *this;
369 }
370 inline bool operator>=(const LeAudioAseConfigurationSetting& _rhs) const {
371 return !(*this < _rhs);
372 }
373 inline bool operator<=(const LeAudioAseConfigurationSetting& _rhs) const {
374 return !(_rhs < *this);
375 }
376
377 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()378 inline std::string toString() const {
379 std::ostringstream _aidl_os;
380 _aidl_os << "LeAudioAseConfigurationSetting{";
381 _aidl_os << "audioContext: " << ::android::internal::ToString(audioContext);
382 _aidl_os << ", packing: " << ::android::internal::ToString(packing);
383 _aidl_os << ", sinkAseConfiguration: " << ::android::internal::ToString(sinkAseConfiguration);
384 _aidl_os << ", sourceAseConfiguration: " << ::android::internal::ToString(sourceAseConfiguration);
385 _aidl_os << ", flags: " << ::android::internal::ToString(flags);
386 _aidl_os << "}";
387 return _aidl_os.str();
388 }
389 };
390 class LeAudioConfigurationRequirement {
391 public:
392 typedef std::false_type fixed_size;
393 static const char* descriptor;
394
395 class AseDirectionRequirement {
396 public:
397 typedef std::false_type fixed_size;
398 static const char* descriptor;
399
400 ::aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration aseConfiguration;
401
402 binder_status_t readFromParcel(const AParcel* parcel);
403 binder_status_t writeToParcel(AParcel* parcel) const;
404
405 inline bool operator==(const AseDirectionRequirement& _rhs) const {
406 return std::tie(aseConfiguration) == std::tie(_rhs.aseConfiguration);
407 }
408 inline bool operator<(const AseDirectionRequirement& _rhs) const {
409 return std::tie(aseConfiguration) < std::tie(_rhs.aseConfiguration);
410 }
411 inline bool operator!=(const AseDirectionRequirement& _rhs) const {
412 return !(*this == _rhs);
413 }
414 inline bool operator>(const AseDirectionRequirement& _rhs) const {
415 return _rhs < *this;
416 }
417 inline bool operator>=(const AseDirectionRequirement& _rhs) const {
418 return !(*this < _rhs);
419 }
420 inline bool operator<=(const AseDirectionRequirement& _rhs) const {
421 return !(_rhs < *this);
422 }
423
424 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()425 inline std::string toString() const {
426 std::ostringstream _aidl_os;
427 _aidl_os << "AseDirectionRequirement{";
428 _aidl_os << "aseConfiguration: " << ::android::internal::ToString(aseConfiguration);
429 _aidl_os << "}";
430 return _aidl_os.str();
431 }
432 };
433 ::aidl::android::hardware::bluetooth::audio::AudioContext audioContext;
434 std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioConfigurationRequirement::AseDirectionRequirement>>> sinkAseRequirement;
435 std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioConfigurationRequirement::AseDirectionRequirement>>> sourceAseRequirement;
436 std::optional<::aidl::android::hardware::bluetooth::audio::ConfigurationFlags> flags;
437
438 binder_status_t readFromParcel(const AParcel* parcel);
439 binder_status_t writeToParcel(AParcel* parcel) const;
440
441 inline bool operator==(const LeAudioConfigurationRequirement& _rhs) const {
442 return std::tie(audioContext, sinkAseRequirement, sourceAseRequirement, flags) == std::tie(_rhs.audioContext, _rhs.sinkAseRequirement, _rhs.sourceAseRequirement, _rhs.flags);
443 }
444 inline bool operator<(const LeAudioConfigurationRequirement& _rhs) const {
445 return std::tie(audioContext, sinkAseRequirement, sourceAseRequirement, flags) < std::tie(_rhs.audioContext, _rhs.sinkAseRequirement, _rhs.sourceAseRequirement, _rhs.flags);
446 }
447 inline bool operator!=(const LeAudioConfigurationRequirement& _rhs) const {
448 return !(*this == _rhs);
449 }
450 inline bool operator>(const LeAudioConfigurationRequirement& _rhs) const {
451 return _rhs < *this;
452 }
453 inline bool operator>=(const LeAudioConfigurationRequirement& _rhs) const {
454 return !(*this < _rhs);
455 }
456 inline bool operator<=(const LeAudioConfigurationRequirement& _rhs) const {
457 return !(_rhs < *this);
458 }
459
460 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()461 inline std::string toString() const {
462 std::ostringstream _aidl_os;
463 _aidl_os << "LeAudioConfigurationRequirement{";
464 _aidl_os << "audioContext: " << ::android::internal::ToString(audioContext);
465 _aidl_os << ", sinkAseRequirement: " << ::android::internal::ToString(sinkAseRequirement);
466 _aidl_os << ", sourceAseRequirement: " << ::android::internal::ToString(sourceAseRequirement);
467 _aidl_os << ", flags: " << ::android::internal::ToString(flags);
468 _aidl_os << "}";
469 return _aidl_os.str();
470 }
471 };
472 class LeAudioAseQosConfigurationRequirement {
473 public:
474 typedef std::false_type fixed_size;
475 static const char* descriptor;
476
477 class AseQosDirectionRequirement {
478 public:
479 typedef std::false_type fixed_size;
480 static const char* descriptor;
481
482 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing framing = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing(0);
483 std::vector<::aidl::android::hardware::bluetooth::audio::Phy> preferredPhy;
484 int32_t preferredRetransmissionNum = 0;
485 int32_t maxTransportLatencyMs = 0;
486 int32_t presentationDelayMinUs = 0;
487 int32_t presentationDelayMaxUs = 0;
488 int32_t preferredPresentationDelayMinUs = 0;
489 int32_t preferredPresentationDelayMaxUs = 0;
490 ::aidl::android::hardware::bluetooth::audio::LeAudioAseConfiguration aseConfiguration;
491
492 binder_status_t readFromParcel(const AParcel* parcel);
493 binder_status_t writeToParcel(AParcel* parcel) const;
494
495 inline bool operator==(const AseQosDirectionRequirement& _rhs) const {
496 return std::tie(framing, preferredPhy, preferredRetransmissionNum, maxTransportLatencyMs, presentationDelayMinUs, presentationDelayMaxUs, preferredPresentationDelayMinUs, preferredPresentationDelayMaxUs, aseConfiguration) == std::tie(_rhs.framing, _rhs.preferredPhy, _rhs.preferredRetransmissionNum, _rhs.maxTransportLatencyMs, _rhs.presentationDelayMinUs, _rhs.presentationDelayMaxUs, _rhs.preferredPresentationDelayMinUs, _rhs.preferredPresentationDelayMaxUs, _rhs.aseConfiguration);
497 }
498 inline bool operator<(const AseQosDirectionRequirement& _rhs) const {
499 return std::tie(framing, preferredPhy, preferredRetransmissionNum, maxTransportLatencyMs, presentationDelayMinUs, presentationDelayMaxUs, preferredPresentationDelayMinUs, preferredPresentationDelayMaxUs, aseConfiguration) < std::tie(_rhs.framing, _rhs.preferredPhy, _rhs.preferredRetransmissionNum, _rhs.maxTransportLatencyMs, _rhs.presentationDelayMinUs, _rhs.presentationDelayMaxUs, _rhs.preferredPresentationDelayMinUs, _rhs.preferredPresentationDelayMaxUs, _rhs.aseConfiguration);
500 }
501 inline bool operator!=(const AseQosDirectionRequirement& _rhs) const {
502 return !(*this == _rhs);
503 }
504 inline bool operator>(const AseQosDirectionRequirement& _rhs) const {
505 return _rhs < *this;
506 }
507 inline bool operator>=(const AseQosDirectionRequirement& _rhs) const {
508 return !(*this < _rhs);
509 }
510 inline bool operator<=(const AseQosDirectionRequirement& _rhs) const {
511 return !(_rhs < *this);
512 }
513
514 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()515 inline std::string toString() const {
516 std::ostringstream _aidl_os;
517 _aidl_os << "AseQosDirectionRequirement{";
518 _aidl_os << "framing: " << ::android::internal::ToString(framing);
519 _aidl_os << ", preferredPhy: " << ::android::internal::ToString(preferredPhy);
520 _aidl_os << ", preferredRetransmissionNum: " << ::android::internal::ToString(preferredRetransmissionNum);
521 _aidl_os << ", maxTransportLatencyMs: " << ::android::internal::ToString(maxTransportLatencyMs);
522 _aidl_os << ", presentationDelayMinUs: " << ::android::internal::ToString(presentationDelayMinUs);
523 _aidl_os << ", presentationDelayMaxUs: " << ::android::internal::ToString(presentationDelayMaxUs);
524 _aidl_os << ", preferredPresentationDelayMinUs: " << ::android::internal::ToString(preferredPresentationDelayMinUs);
525 _aidl_os << ", preferredPresentationDelayMaxUs: " << ::android::internal::ToString(preferredPresentationDelayMaxUs);
526 _aidl_os << ", aseConfiguration: " << ::android::internal::ToString(aseConfiguration);
527 _aidl_os << "}";
528 return _aidl_os.str();
529 }
530 };
531 ::aidl::android::hardware::bluetooth::audio::AudioContext audioContext;
532 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationRequirement::AseQosDirectionRequirement> sinkAseQosRequirement;
533 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationRequirement::AseQosDirectionRequirement> sourceAseQosRequirement;
534 std::optional<::aidl::android::hardware::bluetooth::audio::ConfigurationFlags> flags;
535
536 binder_status_t readFromParcel(const AParcel* parcel);
537 binder_status_t writeToParcel(AParcel* parcel) const;
538
539 inline bool operator==(const LeAudioAseQosConfigurationRequirement& _rhs) const {
540 return std::tie(audioContext, sinkAseQosRequirement, sourceAseQosRequirement, flags) == std::tie(_rhs.audioContext, _rhs.sinkAseQosRequirement, _rhs.sourceAseQosRequirement, _rhs.flags);
541 }
542 inline bool operator<(const LeAudioAseQosConfigurationRequirement& _rhs) const {
543 return std::tie(audioContext, sinkAseQosRequirement, sourceAseQosRequirement, flags) < std::tie(_rhs.audioContext, _rhs.sinkAseQosRequirement, _rhs.sourceAseQosRequirement, _rhs.flags);
544 }
545 inline bool operator!=(const LeAudioAseQosConfigurationRequirement& _rhs) const {
546 return !(*this == _rhs);
547 }
548 inline bool operator>(const LeAudioAseQosConfigurationRequirement& _rhs) const {
549 return _rhs < *this;
550 }
551 inline bool operator>=(const LeAudioAseQosConfigurationRequirement& _rhs) const {
552 return !(*this < _rhs);
553 }
554 inline bool operator<=(const LeAudioAseQosConfigurationRequirement& _rhs) const {
555 return !(_rhs < *this);
556 }
557
558 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()559 inline std::string toString() const {
560 std::ostringstream _aidl_os;
561 _aidl_os << "LeAudioAseQosConfigurationRequirement{";
562 _aidl_os << "audioContext: " << ::android::internal::ToString(audioContext);
563 _aidl_os << ", sinkAseQosRequirement: " << ::android::internal::ToString(sinkAseQosRequirement);
564 _aidl_os << ", sourceAseQosRequirement: " << ::android::internal::ToString(sourceAseQosRequirement);
565 _aidl_os << ", flags: " << ::android::internal::ToString(flags);
566 _aidl_os << "}";
567 return _aidl_os.str();
568 }
569 };
570 class LeAudioAseQosConfigurationPair {
571 public:
572 typedef std::false_type fixed_size;
573 static const char* descriptor;
574
575 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfiguration> sinkQosConfiguration;
576 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfiguration> sourceQosConfiguration;
577
578 binder_status_t readFromParcel(const AParcel* parcel);
579 binder_status_t writeToParcel(AParcel* parcel) const;
580
581 inline bool operator==(const LeAudioAseQosConfigurationPair& _rhs) const {
582 return std::tie(sinkQosConfiguration, sourceQosConfiguration) == std::tie(_rhs.sinkQosConfiguration, _rhs.sourceQosConfiguration);
583 }
584 inline bool operator<(const LeAudioAseQosConfigurationPair& _rhs) const {
585 return std::tie(sinkQosConfiguration, sourceQosConfiguration) < std::tie(_rhs.sinkQosConfiguration, _rhs.sourceQosConfiguration);
586 }
587 inline bool operator!=(const LeAudioAseQosConfigurationPair& _rhs) const {
588 return !(*this == _rhs);
589 }
590 inline bool operator>(const LeAudioAseQosConfigurationPair& _rhs) const {
591 return _rhs < *this;
592 }
593 inline bool operator>=(const LeAudioAseQosConfigurationPair& _rhs) const {
594 return !(*this < _rhs);
595 }
596 inline bool operator<=(const LeAudioAseQosConfigurationPair& _rhs) const {
597 return !(_rhs < *this);
598 }
599
600 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()601 inline std::string toString() const {
602 std::ostringstream _aidl_os;
603 _aidl_os << "LeAudioAseQosConfigurationPair{";
604 _aidl_os << "sinkQosConfiguration: " << ::android::internal::ToString(sinkQosConfiguration);
605 _aidl_os << ", sourceQosConfiguration: " << ::android::internal::ToString(sourceQosConfiguration);
606 _aidl_os << "}";
607 return _aidl_os.str();
608 }
609 };
610 class LeAudioDataPathConfigurationPair {
611 public:
612 typedef std::false_type fixed_size;
613 static const char* descriptor;
614
615 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration> inputConfig;
616 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration> outputConfig;
617
618 binder_status_t readFromParcel(const AParcel* parcel);
619 binder_status_t writeToParcel(AParcel* parcel) const;
620
621 inline bool operator==(const LeAudioDataPathConfigurationPair& _rhs) const {
622 return std::tie(inputConfig, outputConfig) == std::tie(_rhs.inputConfig, _rhs.outputConfig);
623 }
624 inline bool operator<(const LeAudioDataPathConfigurationPair& _rhs) const {
625 return std::tie(inputConfig, outputConfig) < std::tie(_rhs.inputConfig, _rhs.outputConfig);
626 }
627 inline bool operator!=(const LeAudioDataPathConfigurationPair& _rhs) const {
628 return !(*this == _rhs);
629 }
630 inline bool operator>(const LeAudioDataPathConfigurationPair& _rhs) const {
631 return _rhs < *this;
632 }
633 inline bool operator>=(const LeAudioDataPathConfigurationPair& _rhs) const {
634 return !(*this < _rhs);
635 }
636 inline bool operator<=(const LeAudioDataPathConfigurationPair& _rhs) const {
637 return !(_rhs < *this);
638 }
639
640 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()641 inline std::string toString() const {
642 std::ostringstream _aidl_os;
643 _aidl_os << "LeAudioDataPathConfigurationPair{";
644 _aidl_os << "inputConfig: " << ::android::internal::ToString(inputConfig);
645 _aidl_os << ", outputConfig: " << ::android::internal::ToString(outputConfig);
646 _aidl_os << "}";
647 return _aidl_os.str();
648 }
649 };
650 class StreamConfig {
651 public:
652 typedef std::false_type fixed_size;
653 static const char* descriptor;
654
655 ::aidl::android::hardware::bluetooth::audio::AudioContext audioContext;
656 std::vector<::aidl::android::hardware::bluetooth::audio::LeAudioConfiguration::StreamMap> streamMap;
657
658 binder_status_t readFromParcel(const AParcel* parcel);
659 binder_status_t writeToParcel(AParcel* parcel) const;
660
661 inline bool operator==(const StreamConfig& _rhs) const {
662 return std::tie(audioContext, streamMap) == std::tie(_rhs.audioContext, _rhs.streamMap);
663 }
664 inline bool operator<(const StreamConfig& _rhs) const {
665 return std::tie(audioContext, streamMap) < std::tie(_rhs.audioContext, _rhs.streamMap);
666 }
667 inline bool operator!=(const StreamConfig& _rhs) const {
668 return !(*this == _rhs);
669 }
670 inline bool operator>(const StreamConfig& _rhs) const {
671 return _rhs < *this;
672 }
673 inline bool operator>=(const StreamConfig& _rhs) const {
674 return !(*this < _rhs);
675 }
676 inline bool operator<=(const StreamConfig& _rhs) const {
677 return !(_rhs < *this);
678 }
679
680 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()681 inline std::string toString() const {
682 std::ostringstream _aidl_os;
683 _aidl_os << "StreamConfig{";
684 _aidl_os << "audioContext: " << ::android::internal::ToString(audioContext);
685 _aidl_os << ", streamMap: " << ::android::internal::ToString(streamMap);
686 _aidl_os << "}";
687 return _aidl_os.str();
688 }
689 };
690 enum class AseState : int8_t {
691 ENABLING = 0,
692 STREAMING = 1,
693 DISABLING = 2,
694 };
695
696 enum class BroadcastQuality : int8_t {
697 STANDARD = 0,
698 HIGH = 1,
699 };
700
701 class LeAudioBroadcastSubgroupConfigurationRequirement {
702 public:
703 typedef std::false_type fixed_size;
704 static const char* descriptor;
705
706 ::aidl::android::hardware::bluetooth::audio::AudioContext audioContext;
707 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality quality = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality(0);
708 int32_t bisNumPerSubgroup = 0;
709
710 binder_status_t readFromParcel(const AParcel* parcel);
711 binder_status_t writeToParcel(AParcel* parcel) const;
712
713 inline bool operator==(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
714 return std::tie(audioContext, quality, bisNumPerSubgroup) == std::tie(_rhs.audioContext, _rhs.quality, _rhs.bisNumPerSubgroup);
715 }
716 inline bool operator<(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
717 return std::tie(audioContext, quality, bisNumPerSubgroup) < std::tie(_rhs.audioContext, _rhs.quality, _rhs.bisNumPerSubgroup);
718 }
719 inline bool operator!=(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
720 return !(*this == _rhs);
721 }
722 inline bool operator>(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
723 return _rhs < *this;
724 }
725 inline bool operator>=(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
726 return !(*this < _rhs);
727 }
728 inline bool operator<=(const LeAudioBroadcastSubgroupConfigurationRequirement& _rhs) const {
729 return !(_rhs < *this);
730 }
731
732 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()733 inline std::string toString() const {
734 std::ostringstream _aidl_os;
735 _aidl_os << "LeAudioBroadcastSubgroupConfigurationRequirement{";
736 _aidl_os << "audioContext: " << ::android::internal::ToString(audioContext);
737 _aidl_os << ", quality: " << ::android::internal::ToString(quality);
738 _aidl_os << ", bisNumPerSubgroup: " << ::android::internal::ToString(bisNumPerSubgroup);
739 _aidl_os << "}";
740 return _aidl_os.str();
741 }
742 };
743 class LeAudioBroadcastConfigurationRequirement {
744 public:
745 typedef std::false_type fixed_size;
746 static const char* descriptor;
747
748 std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastSubgroupConfigurationRequirement> subgroupConfigurationRequirements;
749
750 binder_status_t readFromParcel(const AParcel* parcel);
751 binder_status_t writeToParcel(AParcel* parcel) const;
752
753 inline bool operator==(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
754 return std::tie(subgroupConfigurationRequirements) == std::tie(_rhs.subgroupConfigurationRequirements);
755 }
756 inline bool operator<(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
757 return std::tie(subgroupConfigurationRequirements) < std::tie(_rhs.subgroupConfigurationRequirements);
758 }
759 inline bool operator!=(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
760 return !(*this == _rhs);
761 }
762 inline bool operator>(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
763 return _rhs < *this;
764 }
765 inline bool operator>=(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
766 return !(*this < _rhs);
767 }
768 inline bool operator<=(const LeAudioBroadcastConfigurationRequirement& _rhs) const {
769 return !(_rhs < *this);
770 }
771
772 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()773 inline std::string toString() const {
774 std::ostringstream _aidl_os;
775 _aidl_os << "LeAudioBroadcastConfigurationRequirement{";
776 _aidl_os << "subgroupConfigurationRequirements: " << ::android::internal::ToString(subgroupConfigurationRequirements);
777 _aidl_os << "}";
778 return _aidl_os.str();
779 }
780 };
781 class LeAudioSubgroupBisConfiguration {
782 public:
783 typedef std::false_type fixed_size;
784 static const char* descriptor;
785
786 int32_t numBis = 0;
787 ::aidl::android::hardware::bluetooth::audio::LeAudioBisConfiguration bisConfiguration;
788
789 binder_status_t readFromParcel(const AParcel* parcel);
790 binder_status_t writeToParcel(AParcel* parcel) const;
791
792 inline bool operator==(const LeAudioSubgroupBisConfiguration& _rhs) const {
793 return std::tie(numBis, bisConfiguration) == std::tie(_rhs.numBis, _rhs.bisConfiguration);
794 }
795 inline bool operator<(const LeAudioSubgroupBisConfiguration& _rhs) const {
796 return std::tie(numBis, bisConfiguration) < std::tie(_rhs.numBis, _rhs.bisConfiguration);
797 }
798 inline bool operator!=(const LeAudioSubgroupBisConfiguration& _rhs) const {
799 return !(*this == _rhs);
800 }
801 inline bool operator>(const LeAudioSubgroupBisConfiguration& _rhs) const {
802 return _rhs < *this;
803 }
804 inline bool operator>=(const LeAudioSubgroupBisConfiguration& _rhs) const {
805 return !(*this < _rhs);
806 }
807 inline bool operator<=(const LeAudioSubgroupBisConfiguration& _rhs) const {
808 return !(_rhs < *this);
809 }
810
811 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()812 inline std::string toString() const {
813 std::ostringstream _aidl_os;
814 _aidl_os << "LeAudioSubgroupBisConfiguration{";
815 _aidl_os << "numBis: " << ::android::internal::ToString(numBis);
816 _aidl_os << ", bisConfiguration: " << ::android::internal::ToString(bisConfiguration);
817 _aidl_os << "}";
818 return _aidl_os.str();
819 }
820 };
821 class LeAudioBroadcastSubgroupConfiguration {
822 public:
823 typedef std::false_type fixed_size;
824 static const char* descriptor;
825
826 std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioSubgroupBisConfiguration> bisConfigurations;
827 std::optional<std::vector<uint8_t>> vendorCodecConfiguration;
828
829 binder_status_t readFromParcel(const AParcel* parcel);
830 binder_status_t writeToParcel(AParcel* parcel) const;
831
832 inline bool operator==(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
833 return std::tie(bisConfigurations, vendorCodecConfiguration) == std::tie(_rhs.bisConfigurations, _rhs.vendorCodecConfiguration);
834 }
835 inline bool operator<(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
836 return std::tie(bisConfigurations, vendorCodecConfiguration) < std::tie(_rhs.bisConfigurations, _rhs.vendorCodecConfiguration);
837 }
838 inline bool operator!=(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
839 return !(*this == _rhs);
840 }
841 inline bool operator>(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
842 return _rhs < *this;
843 }
844 inline bool operator>=(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
845 return !(*this < _rhs);
846 }
847 inline bool operator<=(const LeAudioBroadcastSubgroupConfiguration& _rhs) const {
848 return !(_rhs < *this);
849 }
850
851 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()852 inline std::string toString() const {
853 std::ostringstream _aidl_os;
854 _aidl_os << "LeAudioBroadcastSubgroupConfiguration{";
855 _aidl_os << "bisConfigurations: " << ::android::internal::ToString(bisConfigurations);
856 _aidl_os << ", vendorCodecConfiguration: " << ::android::internal::ToString(vendorCodecConfiguration);
857 _aidl_os << "}";
858 return _aidl_os.str();
859 }
860 };
861 class LeAudioBroadcastConfigurationSetting {
862 public:
863 typedef std::false_type fixed_size;
864 static const char* descriptor;
865
866 int32_t sduIntervalUs = 0;
867 int32_t numBis = 0;
868 int32_t maxSduOctets = 0;
869 int32_t maxTransportLatencyMs = 0;
870 int32_t retransmitionNum = 0;
871 std::vector<::aidl::android::hardware::bluetooth::audio::Phy> phy;
872 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing packing = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing(0);
873 ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing framing = ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing(0);
874 std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration> dataPathConfiguration;
875 std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastSubgroupConfiguration> subgroupsConfigurations;
876
877 binder_status_t readFromParcel(const AParcel* parcel);
878 binder_status_t writeToParcel(AParcel* parcel) const;
879
880 inline bool operator==(const LeAudioBroadcastConfigurationSetting& _rhs) const {
881 return std::tie(sduIntervalUs, numBis, maxSduOctets, maxTransportLatencyMs, retransmitionNum, phy, packing, framing, dataPathConfiguration, subgroupsConfigurations) == std::tie(_rhs.sduIntervalUs, _rhs.numBis, _rhs.maxSduOctets, _rhs.maxTransportLatencyMs, _rhs.retransmitionNum, _rhs.phy, _rhs.packing, _rhs.framing, _rhs.dataPathConfiguration, _rhs.subgroupsConfigurations);
882 }
883 inline bool operator<(const LeAudioBroadcastConfigurationSetting& _rhs) const {
884 return std::tie(sduIntervalUs, numBis, maxSduOctets, maxTransportLatencyMs, retransmitionNum, phy, packing, framing, dataPathConfiguration, subgroupsConfigurations) < std::tie(_rhs.sduIntervalUs, _rhs.numBis, _rhs.maxSduOctets, _rhs.maxTransportLatencyMs, _rhs.retransmitionNum, _rhs.phy, _rhs.packing, _rhs.framing, _rhs.dataPathConfiguration, _rhs.subgroupsConfigurations);
885 }
886 inline bool operator!=(const LeAudioBroadcastConfigurationSetting& _rhs) const {
887 return !(*this == _rhs);
888 }
889 inline bool operator>(const LeAudioBroadcastConfigurationSetting& _rhs) const {
890 return _rhs < *this;
891 }
892 inline bool operator>=(const LeAudioBroadcastConfigurationSetting& _rhs) const {
893 return !(*this < _rhs);
894 }
895 inline bool operator<=(const LeAudioBroadcastConfigurationSetting& _rhs) const {
896 return !(_rhs < *this);
897 }
898
899 static const ::ndk::parcelable_stability_t _aidl_stability = ::ndk::STABILITY_VINTF;
toString()900 inline std::string toString() const {
901 std::ostringstream _aidl_os;
902 _aidl_os << "LeAudioBroadcastConfigurationSetting{";
903 _aidl_os << "sduIntervalUs: " << ::android::internal::ToString(sduIntervalUs);
904 _aidl_os << ", numBis: " << ::android::internal::ToString(numBis);
905 _aidl_os << ", maxSduOctets: " << ::android::internal::ToString(maxSduOctets);
906 _aidl_os << ", maxTransportLatencyMs: " << ::android::internal::ToString(maxTransportLatencyMs);
907 _aidl_os << ", retransmitionNum: " << ::android::internal::ToString(retransmitionNum);
908 _aidl_os << ", phy: " << ::android::internal::ToString(phy);
909 _aidl_os << ", packing: " << ::android::internal::ToString(packing);
910 _aidl_os << ", framing: " << ::android::internal::ToString(framing);
911 _aidl_os << ", dataPathConfiguration: " << ::android::internal::ToString(dataPathConfiguration);
912 _aidl_os << ", subgroupsConfigurations: " << ::android::internal::ToString(subgroupsConfigurations);
913 _aidl_os << "}";
914 return _aidl_os.str();
915 }
916 };
917 enum : int32_t { CODEC_PRIORITY_DISABLED = -1 };
918 enum : int32_t { CODEC_PRIORITY_NONE = 0 };
919 static inline const int32_t version = true ? 4 : 5;
920 static inline const std::string hash = true ? "ac25616dda1c45dc2915d3f5ac82687a1a6f6e46" : "notfrozen";
921 static constexpr uint32_t TRANSACTION_endSession = FIRST_CALL_TRANSACTION + 0;
922 static constexpr uint32_t TRANSACTION_startSession = FIRST_CALL_TRANSACTION + 1;
923 static constexpr uint32_t TRANSACTION_streamStarted = FIRST_CALL_TRANSACTION + 2;
924 static constexpr uint32_t TRANSACTION_streamSuspended = FIRST_CALL_TRANSACTION + 3;
925 static constexpr uint32_t TRANSACTION_updateAudioConfiguration = FIRST_CALL_TRANSACTION + 4;
926 static constexpr uint32_t TRANSACTION_setLowLatencyModeAllowed = FIRST_CALL_TRANSACTION + 5;
927 static constexpr uint32_t TRANSACTION_parseA2dpConfiguration = FIRST_CALL_TRANSACTION + 6;
928 static constexpr uint32_t TRANSACTION_getA2dpConfiguration = FIRST_CALL_TRANSACTION + 7;
929 static constexpr uint32_t TRANSACTION_setCodecPriority = FIRST_CALL_TRANSACTION + 8;
930 static constexpr uint32_t TRANSACTION_getLeAudioAseConfiguration = FIRST_CALL_TRANSACTION + 9;
931 static constexpr uint32_t TRANSACTION_getLeAudioAseQosConfiguration = FIRST_CALL_TRANSACTION + 10;
932 static constexpr uint32_t TRANSACTION_getLeAudioAseDatapathConfiguration = FIRST_CALL_TRANSACTION + 11;
933 static constexpr uint32_t TRANSACTION_onSinkAseMetadataChanged = FIRST_CALL_TRANSACTION + 12;
934 static constexpr uint32_t TRANSACTION_onSourceAseMetadataChanged = FIRST_CALL_TRANSACTION + 13;
935 static constexpr uint32_t TRANSACTION_getLeAudioBroadcastConfiguration = FIRST_CALL_TRANSACTION + 14;
936 static constexpr uint32_t TRANSACTION_getLeAudioBroadcastDatapathConfiguration = FIRST_CALL_TRANSACTION + 15;
937
938 static std::shared_ptr<IBluetoothAudioProvider> fromBinder(const ::ndk::SpAIBinder& binder);
939 static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IBluetoothAudioProvider>& instance);
940 static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IBluetoothAudioProvider>* instance);
941 static bool setDefaultImpl(const std::shared_ptr<IBluetoothAudioProvider>& impl);
942 static const std::shared_ptr<IBluetoothAudioProvider>& getDefaultImpl();
943 virtual ::ndk::ScopedAStatus endSession() = 0;
944 virtual ::ndk::ScopedAStatus startSession(const std::shared_ptr<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioPort>& in_hostIf, const ::aidl::android::hardware::bluetooth::audio::AudioConfiguration& in_audioConfig, const std::vector<::aidl::android::hardware::bluetooth::audio::LatencyMode>& in_supportedLatencyModes, ::aidl::android::hardware::common::fmq::MQDescriptor<int8_t, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite>* _aidl_return) = 0;
945 virtual ::ndk::ScopedAStatus streamStarted(::aidl::android::hardware::bluetooth::audio::BluetoothAudioStatus in_status) = 0;
946 virtual ::ndk::ScopedAStatus streamSuspended(::aidl::android::hardware::bluetooth::audio::BluetoothAudioStatus in_status) = 0;
947 virtual ::ndk::ScopedAStatus updateAudioConfiguration(const ::aidl::android::hardware::bluetooth::audio::AudioConfiguration& in_audioConfig) = 0;
948 virtual ::ndk::ScopedAStatus setLowLatencyModeAllowed(bool in_allowed) = 0;
949 virtual ::ndk::ScopedAStatus parseA2dpConfiguration(const ::aidl::android::hardware::bluetooth::audio::CodecId& in_codecId, const std::vector<uint8_t>& in_configuration, ::aidl::android::hardware::bluetooth::audio::CodecParameters* out_codecParameters, ::aidl::android::hardware::bluetooth::audio::A2dpStatus* _aidl_return) = 0;
950 virtual ::ndk::ScopedAStatus getA2dpConfiguration(const std::vector<::aidl::android::hardware::bluetooth::audio::A2dpRemoteCapabilities>& in_remoteA2dpCapabilities, const ::aidl::android::hardware::bluetooth::audio::A2dpConfigurationHint& in_hint, std::optional<::aidl::android::hardware::bluetooth::audio::A2dpConfiguration>* _aidl_return) = 0;
951 virtual ::ndk::ScopedAStatus setCodecPriority(const ::aidl::android::hardware::bluetooth::audio::CodecId& in_codecId, int32_t in_priority) = 0;
952 virtual ::ndk::ScopedAStatus getLeAudioAseConfiguration(const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSinkAudioCapabilities, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSourceAudioCapabilities, const std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioConfigurationRequirement>& in_requirements, std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseConfigurationSetting>* _aidl_return) = 0;
953 virtual ::ndk::ScopedAStatus getLeAudioAseQosConfiguration(const ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationRequirement& in_qosRequirement, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationPair* _aidl_return) = 0;
954 virtual ::ndk::ScopedAStatus getLeAudioAseDatapathConfiguration(const std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::StreamConfig>& in_sinkConfig, const std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::StreamConfig>& in_sourceConfig, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfigurationPair* _aidl_return) = 0;
955 virtual ::ndk::ScopedAStatus onSinkAseMetadataChanged(::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState in_state, int32_t in_cigId, int32_t in_cisId, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>>& in_metadata) = 0;
956 virtual ::ndk::ScopedAStatus onSourceAseMetadataChanged(::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState in_state, int32_t in_cigId, int32_t in_cisId, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>>& in_metadata) = 0;
957 virtual ::ndk::ScopedAStatus getLeAudioBroadcastConfiguration(const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSinkAudioCapabilities, const ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastConfigurationRequirement& in_requirement, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastConfigurationSetting* _aidl_return) = 0;
958 virtual ::ndk::ScopedAStatus getLeAudioBroadcastDatapathConfiguration(const ::aidl::android::hardware::bluetooth::audio::AudioContext& in_audioContext, const std::vector<::aidl::android::hardware::bluetooth::audio::LeAudioBroadcastConfiguration::BroadcastStreamMap>& in_streamMap, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration* _aidl_return) = 0;
959 virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
960 virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
961 private:
962 static std::shared_ptr<IBluetoothAudioProvider> default_impl;
963 };
964 class IBluetoothAudioProviderDefault : public IBluetoothAudioProvider {
965 public:
966 ::ndk::ScopedAStatus endSession() override;
967 ::ndk::ScopedAStatus startSession(const std::shared_ptr<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioPort>& in_hostIf, const ::aidl::android::hardware::bluetooth::audio::AudioConfiguration& in_audioConfig, const std::vector<::aidl::android::hardware::bluetooth::audio::LatencyMode>& in_supportedLatencyModes, ::aidl::android::hardware::common::fmq::MQDescriptor<int8_t, ::aidl::android::hardware::common::fmq::SynchronizedReadWrite>* _aidl_return) override;
968 ::ndk::ScopedAStatus streamStarted(::aidl::android::hardware::bluetooth::audio::BluetoothAudioStatus in_status) override;
969 ::ndk::ScopedAStatus streamSuspended(::aidl::android::hardware::bluetooth::audio::BluetoothAudioStatus in_status) override;
970 ::ndk::ScopedAStatus updateAudioConfiguration(const ::aidl::android::hardware::bluetooth::audio::AudioConfiguration& in_audioConfig) override;
971 ::ndk::ScopedAStatus setLowLatencyModeAllowed(bool in_allowed) override;
972 ::ndk::ScopedAStatus parseA2dpConfiguration(const ::aidl::android::hardware::bluetooth::audio::CodecId& in_codecId, const std::vector<uint8_t>& in_configuration, ::aidl::android::hardware::bluetooth::audio::CodecParameters* out_codecParameters, ::aidl::android::hardware::bluetooth::audio::A2dpStatus* _aidl_return) override;
973 ::ndk::ScopedAStatus getA2dpConfiguration(const std::vector<::aidl::android::hardware::bluetooth::audio::A2dpRemoteCapabilities>& in_remoteA2dpCapabilities, const ::aidl::android::hardware::bluetooth::audio::A2dpConfigurationHint& in_hint, std::optional<::aidl::android::hardware::bluetooth::audio::A2dpConfiguration>* _aidl_return) override;
974 ::ndk::ScopedAStatus setCodecPriority(const ::aidl::android::hardware::bluetooth::audio::CodecId& in_codecId, int32_t in_priority) override;
975 ::ndk::ScopedAStatus getLeAudioAseConfiguration(const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSinkAudioCapabilities, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSourceAudioCapabilities, const std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioConfigurationRequirement>& in_requirements, std::vector<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseConfigurationSetting>* _aidl_return) override;
976 ::ndk::ScopedAStatus getLeAudioAseQosConfiguration(const ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationRequirement& in_qosRequirement, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioAseQosConfigurationPair* _aidl_return) override;
977 ::ndk::ScopedAStatus getLeAudioAseDatapathConfiguration(const std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::StreamConfig>& in_sinkConfig, const std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::StreamConfig>& in_sourceConfig, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfigurationPair* _aidl_return) override;
978 ::ndk::ScopedAStatus onSinkAseMetadataChanged(::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState in_state, int32_t in_cigId, int32_t in_cisId, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>>& in_metadata) override;
979 ::ndk::ScopedAStatus onSourceAseMetadataChanged(::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState in_state, int32_t in_cigId, int32_t in_cisId, const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::MetadataLtv>>>& in_metadata) override;
980 ::ndk::ScopedAStatus getLeAudioBroadcastConfiguration(const std::optional<std::vector<std::optional<::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDeviceCapabilities>>>& in_remoteSinkAudioCapabilities, const ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastConfigurationRequirement& in_requirement, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioBroadcastConfigurationSetting* _aidl_return) override;
981 ::ndk::ScopedAStatus getLeAudioBroadcastDatapathConfiguration(const ::aidl::android::hardware::bluetooth::audio::AudioContext& in_audioContext, const std::vector<::aidl::android::hardware::bluetooth::audio::LeAudioBroadcastConfiguration::BroadcastStreamMap>& in_streamMap, ::aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::LeAudioDataPathConfiguration* _aidl_return) override;
982 ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
983 ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
984 ::ndk::SpAIBinder asBinder() override;
985 bool isRemote() override;
986 };
987 } // namespace audio
988 } // namespace bluetooth
989 } // namespace hardware
990 } // namespace android
991 } // namespace aidl
992 namespace aidl {
993 namespace android {
994 namespace hardware {
995 namespace bluetooth {
996 namespace audio {
toString(IBluetoothAudioProvider::Packing val)997 [[nodiscard]] static inline std::string toString(IBluetoothAudioProvider::Packing val) {
998 switch(val) {
999 case IBluetoothAudioProvider::Packing::SEQUENTIAL:
1000 return "SEQUENTIAL";
1001 case IBluetoothAudioProvider::Packing::INTERLEAVED:
1002 return "INTERLEAVED";
1003 default:
1004 return std::to_string(static_cast<int8_t>(val));
1005 }
1006 }
1007 } // namespace audio
1008 } // namespace bluetooth
1009 } // namespace hardware
1010 } // namespace android
1011 } // namespace aidl
1012 namespace ndk {
1013 namespace internal {
1014 #pragma clang diagnostic push
1015 #pragma clang diagnostic ignored "-Wc++17-extensions"
1016 template <>
1017 constexpr inline std::array<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing, 2> enum_values<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing> = {
1018 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing::SEQUENTIAL,
1019 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Packing::INTERLEAVED,
1020 };
1021 #pragma clang diagnostic pop
1022 } // namespace internal
1023 } // namespace ndk
1024 namespace aidl {
1025 namespace android {
1026 namespace hardware {
1027 namespace bluetooth {
1028 namespace audio {
toString(IBluetoothAudioProvider::Framing val)1029 [[nodiscard]] static inline std::string toString(IBluetoothAudioProvider::Framing val) {
1030 switch(val) {
1031 case IBluetoothAudioProvider::Framing::UNFRAMED:
1032 return "UNFRAMED";
1033 case IBluetoothAudioProvider::Framing::FRAMED:
1034 return "FRAMED";
1035 default:
1036 return std::to_string(static_cast<int8_t>(val));
1037 }
1038 }
1039 } // namespace audio
1040 } // namespace bluetooth
1041 } // namespace hardware
1042 } // namespace android
1043 } // namespace aidl
1044 namespace ndk {
1045 namespace internal {
1046 #pragma clang diagnostic push
1047 #pragma clang diagnostic ignored "-Wc++17-extensions"
1048 template <>
1049 constexpr inline std::array<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing, 2> enum_values<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing> = {
1050 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing::UNFRAMED,
1051 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::Framing::FRAMED,
1052 };
1053 #pragma clang diagnostic pop
1054 } // namespace internal
1055 } // namespace ndk
1056 namespace aidl {
1057 namespace android {
1058 namespace hardware {
1059 namespace bluetooth {
1060 namespace audio {
toString(IBluetoothAudioProvider::AseState val)1061 [[nodiscard]] static inline std::string toString(IBluetoothAudioProvider::AseState val) {
1062 switch(val) {
1063 case IBluetoothAudioProvider::AseState::ENABLING:
1064 return "ENABLING";
1065 case IBluetoothAudioProvider::AseState::STREAMING:
1066 return "STREAMING";
1067 case IBluetoothAudioProvider::AseState::DISABLING:
1068 return "DISABLING";
1069 default:
1070 return std::to_string(static_cast<int8_t>(val));
1071 }
1072 }
1073 } // namespace audio
1074 } // namespace bluetooth
1075 } // namespace hardware
1076 } // namespace android
1077 } // namespace aidl
1078 namespace ndk {
1079 namespace internal {
1080 #pragma clang diagnostic push
1081 #pragma clang diagnostic ignored "-Wc++17-extensions"
1082 template <>
1083 constexpr inline std::array<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState, 3> enum_values<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState> = {
1084 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState::ENABLING,
1085 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState::STREAMING,
1086 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::AseState::DISABLING,
1087 };
1088 #pragma clang diagnostic pop
1089 } // namespace internal
1090 } // namespace ndk
1091 namespace aidl {
1092 namespace android {
1093 namespace hardware {
1094 namespace bluetooth {
1095 namespace audio {
toString(IBluetoothAudioProvider::BroadcastQuality val)1096 [[nodiscard]] static inline std::string toString(IBluetoothAudioProvider::BroadcastQuality val) {
1097 switch(val) {
1098 case IBluetoothAudioProvider::BroadcastQuality::STANDARD:
1099 return "STANDARD";
1100 case IBluetoothAudioProvider::BroadcastQuality::HIGH:
1101 return "HIGH";
1102 default:
1103 return std::to_string(static_cast<int8_t>(val));
1104 }
1105 }
1106 } // namespace audio
1107 } // namespace bluetooth
1108 } // namespace hardware
1109 } // namespace android
1110 } // namespace aidl
1111 namespace ndk {
1112 namespace internal {
1113 #pragma clang diagnostic push
1114 #pragma clang diagnostic ignored "-Wc++17-extensions"
1115 template <>
1116 constexpr inline std::array<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality, 2> enum_values<aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality> = {
1117 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality::STANDARD,
1118 aidl::android::hardware::bluetooth::audio::IBluetoothAudioProvider::BroadcastQuality::HIGH,
1119 };
1120 #pragma clang diagnostic pop
1121 } // namespace internal
1122 } // namespace ndk
1123