1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_AUDIOSETCONFIGURATIONS_BLUETOOTH_FBS_LE_AUDIO_H_
5 #define FLATBUFFERS_GENERATED_AUDIOSETCONFIGURATIONS_BLUETOOTH_FBS_LE_AUDIO_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
12               FLATBUFFERS_VERSION_MINOR == 0 &&
13               FLATBUFFERS_VERSION_REVISION == 7,
14              "Non-compatible flatbuffers version included");
15 
16 namespace bluetooth {
17 namespace fbs {
18 namespace le_audio {
19 
20 struct CompoundValue;
21 struct CompoundValueBuilder;
22 
23 struct CodecSpecificConfiguration;
24 struct CodecSpecificConfigurationBuilder;
25 
26 struct CodecId;
27 
28 struct AudioSetSubConfiguration;
29 struct AudioSetSubConfigurationBuilder;
30 
31 struct CodecConfiguration;
32 struct CodecConfigurationBuilder;
33 
34 struct QosConfiguration;
35 struct QosConfigurationBuilder;
36 
37 struct AudioSetConfiguration;
38 struct AudioSetConfigurationBuilder;
39 
40 struct AudioSetConfigurations;
41 struct AudioSetConfigurationsBuilder;
42 
43 enum CodecSpecificLtvGenericTypes : int8_t {
44   CodecSpecificLtvGenericTypes_SUPPORTED_SAMPLING_FREQUENCY = 1,
45   CodecSpecificLtvGenericTypes_SUPPORTED_FRAME_DURATION = 2,
46   CodecSpecificLtvGenericTypes_SUPPORTED_AUDIO_CHANNEL_ALLOCATION = 3,
47   CodecSpecificLtvGenericTypes_SUPPORTED_OCTETS_PER_CODEC_FRAME = 4,
48   CodecSpecificLtvGenericTypes_SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU = 5,
49   CodecSpecificLtvGenericTypes_MIN = CodecSpecificLtvGenericTypes_SUPPORTED_SAMPLING_FREQUENCY,
50   CodecSpecificLtvGenericTypes_MAX = CodecSpecificLtvGenericTypes_SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU
51 };
52 
EnumValuesCodecSpecificLtvGenericTypes()53 inline const CodecSpecificLtvGenericTypes (&EnumValuesCodecSpecificLtvGenericTypes())[5] {
54   static const CodecSpecificLtvGenericTypes values[] = {
55     CodecSpecificLtvGenericTypes_SUPPORTED_SAMPLING_FREQUENCY,
56     CodecSpecificLtvGenericTypes_SUPPORTED_FRAME_DURATION,
57     CodecSpecificLtvGenericTypes_SUPPORTED_AUDIO_CHANNEL_ALLOCATION,
58     CodecSpecificLtvGenericTypes_SUPPORTED_OCTETS_PER_CODEC_FRAME,
59     CodecSpecificLtvGenericTypes_SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU
60   };
61   return values;
62 }
63 
EnumNamesCodecSpecificLtvGenericTypes()64 inline const char * const *EnumNamesCodecSpecificLtvGenericTypes() {
65   static const char * const names[6] = {
66     "SUPPORTED_SAMPLING_FREQUENCY",
67     "SUPPORTED_FRAME_DURATION",
68     "SUPPORTED_AUDIO_CHANNEL_ALLOCATION",
69     "SUPPORTED_OCTETS_PER_CODEC_FRAME",
70     "SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU",
71     nullptr
72   };
73   return names;
74 }
75 
EnumNameCodecSpecificLtvGenericTypes(CodecSpecificLtvGenericTypes e)76 inline const char *EnumNameCodecSpecificLtvGenericTypes(CodecSpecificLtvGenericTypes e) {
77   if (flatbuffers::IsOutRange(e, CodecSpecificLtvGenericTypes_SUPPORTED_SAMPLING_FREQUENCY, CodecSpecificLtvGenericTypes_SUPPORTED_CODEC_FRAME_BLOCKS_PER_SDU)) return "";
78   const size_t index = static_cast<size_t>(e) - static_cast<size_t>(CodecSpecificLtvGenericTypes_SUPPORTED_SAMPLING_FREQUENCY);
79   return EnumNamesCodecSpecificLtvGenericTypes()[index];
80 }
81 
82 enum AudioSetConfigurationStrategy : int8_t {
83   AudioSetConfigurationStrategy_MONO_ONE_CIS_PER_DEVICE = 0,
84   AudioSetConfigurationStrategy_STEREO_TWO_CISES_PER_DEVICE = 1,
85   AudioSetConfigurationStrategy_STEREO_ONE_CIS_PER_DEVICE = 2,
86   AudioSetConfigurationStrategy_MIN = AudioSetConfigurationStrategy_MONO_ONE_CIS_PER_DEVICE,
87   AudioSetConfigurationStrategy_MAX = AudioSetConfigurationStrategy_STEREO_ONE_CIS_PER_DEVICE
88 };
89 
EnumValuesAudioSetConfigurationStrategy()90 inline const AudioSetConfigurationStrategy (&EnumValuesAudioSetConfigurationStrategy())[3] {
91   static const AudioSetConfigurationStrategy values[] = {
92     AudioSetConfigurationStrategy_MONO_ONE_CIS_PER_DEVICE,
93     AudioSetConfigurationStrategy_STEREO_TWO_CISES_PER_DEVICE,
94     AudioSetConfigurationStrategy_STEREO_ONE_CIS_PER_DEVICE
95   };
96   return values;
97 }
98 
EnumNamesAudioSetConfigurationStrategy()99 inline const char * const *EnumNamesAudioSetConfigurationStrategy() {
100   static const char * const names[4] = {
101     "MONO_ONE_CIS_PER_DEVICE",
102     "STEREO_TWO_CISES_PER_DEVICE",
103     "STEREO_ONE_CIS_PER_DEVICE",
104     nullptr
105   };
106   return names;
107 }
108 
EnumNameAudioSetConfigurationStrategy(AudioSetConfigurationStrategy e)109 inline const char *EnumNameAudioSetConfigurationStrategy(AudioSetConfigurationStrategy e) {
110   if (flatbuffers::IsOutRange(e, AudioSetConfigurationStrategy_MONO_ONE_CIS_PER_DEVICE, AudioSetConfigurationStrategy_STEREO_ONE_CIS_PER_DEVICE)) return "";
111   const size_t index = static_cast<size_t>(e);
112   return EnumNamesAudioSetConfigurationStrategy()[index];
113 }
114 
115 enum AudioSetConfigurationDirection : int8_t {
116   AudioSetConfigurationDirection_SINK = 1,
117   AudioSetConfigurationDirection_SOURCE = 2,
118   AudioSetConfigurationDirection_MIN = AudioSetConfigurationDirection_SINK,
119   AudioSetConfigurationDirection_MAX = AudioSetConfigurationDirection_SOURCE
120 };
121 
EnumValuesAudioSetConfigurationDirection()122 inline const AudioSetConfigurationDirection (&EnumValuesAudioSetConfigurationDirection())[2] {
123   static const AudioSetConfigurationDirection values[] = {
124     AudioSetConfigurationDirection_SINK,
125     AudioSetConfigurationDirection_SOURCE
126   };
127   return values;
128 }
129 
EnumNamesAudioSetConfigurationDirection()130 inline const char * const *EnumNamesAudioSetConfigurationDirection() {
131   static const char * const names[3] = {
132     "SINK",
133     "SOURCE",
134     nullptr
135   };
136   return names;
137 }
138 
EnumNameAudioSetConfigurationDirection(AudioSetConfigurationDirection e)139 inline const char *EnumNameAudioSetConfigurationDirection(AudioSetConfigurationDirection e) {
140   if (flatbuffers::IsOutRange(e, AudioSetConfigurationDirection_SINK, AudioSetConfigurationDirection_SOURCE)) return "";
141   const size_t index = static_cast<size_t>(e) - static_cast<size_t>(AudioSetConfigurationDirection_SINK);
142   return EnumNamesAudioSetConfigurationDirection()[index];
143 }
144 
145 enum AudioSetConfigurationTargetLatency : int8_t {
146   AudioSetConfigurationTargetLatency_LOW = 1,
147   AudioSetConfigurationTargetLatency_BALANCED_RELIABILITY = 2,
148   AudioSetConfigurationTargetLatency_HIGH_RELIABILITY = 3,
149   AudioSetConfigurationTargetLatency_MIN = AudioSetConfigurationTargetLatency_LOW,
150   AudioSetConfigurationTargetLatency_MAX = AudioSetConfigurationTargetLatency_HIGH_RELIABILITY
151 };
152 
EnumValuesAudioSetConfigurationTargetLatency()153 inline const AudioSetConfigurationTargetLatency (&EnumValuesAudioSetConfigurationTargetLatency())[3] {
154   static const AudioSetConfigurationTargetLatency values[] = {
155     AudioSetConfigurationTargetLatency_LOW,
156     AudioSetConfigurationTargetLatency_BALANCED_RELIABILITY,
157     AudioSetConfigurationTargetLatency_HIGH_RELIABILITY
158   };
159   return values;
160 }
161 
EnumNamesAudioSetConfigurationTargetLatency()162 inline const char * const *EnumNamesAudioSetConfigurationTargetLatency() {
163   static const char * const names[4] = {
164     "LOW",
165     "BALANCED_RELIABILITY",
166     "HIGH_RELIABILITY",
167     nullptr
168   };
169   return names;
170 }
171 
EnumNameAudioSetConfigurationTargetLatency(AudioSetConfigurationTargetLatency e)172 inline const char *EnumNameAudioSetConfigurationTargetLatency(AudioSetConfigurationTargetLatency e) {
173   if (flatbuffers::IsOutRange(e, AudioSetConfigurationTargetLatency_LOW, AudioSetConfigurationTargetLatency_HIGH_RELIABILITY)) return "";
174   const size_t index = static_cast<size_t>(e) - static_cast<size_t>(AudioSetConfigurationTargetLatency_LOW);
175   return EnumNamesAudioSetConfigurationTargetLatency()[index];
176 }
177 
178 FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(2) CodecId FLATBUFFERS_FINAL_CLASS {
179  private:
180   uint8_t coding_format_;
181   int8_t padding0__;
182   uint16_t vendor_company_id_;
183   uint16_t vendor_codec_id_;
184 
185  public:
CodecId()186   CodecId()
187       : coding_format_(0),
188         padding0__(0),
189         vendor_company_id_(0),
190         vendor_codec_id_(0) {
191     (void)padding0__;
192   }
CodecId(uint8_t _coding_format,uint16_t _vendor_company_id,uint16_t _vendor_codec_id)193   CodecId(uint8_t _coding_format, uint16_t _vendor_company_id, uint16_t _vendor_codec_id)
194       : coding_format_(flatbuffers::EndianScalar(_coding_format)),
195         padding0__(0),
196         vendor_company_id_(flatbuffers::EndianScalar(_vendor_company_id)),
197         vendor_codec_id_(flatbuffers::EndianScalar(_vendor_codec_id)) {
198     (void)padding0__;
199   }
coding_format()200   uint8_t coding_format() const {
201     return flatbuffers::EndianScalar(coding_format_);
202   }
vendor_company_id()203   uint16_t vendor_company_id() const {
204     return flatbuffers::EndianScalar(vendor_company_id_);
205   }
vendor_codec_id()206   uint16_t vendor_codec_id() const {
207     return flatbuffers::EndianScalar(vendor_codec_id_);
208   }
209 };
210 FLATBUFFERS_STRUCT_END(CodecId, 6);
211 
212 /// Note: Holds either a single value (when `value_width == 0`) or multiple
213 ///       values if `value.length()` is no-remainder divisible by the non-zero
214 ///       `value_width`.
215 /// Note: Consider extending it with `flags` field, to hold additional info like
216 ///       IsBitfield, IsRange, etc. if we need these type-specific validations.
217 struct CompoundValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
218   typedef CompoundValueBuilder Builder;
219   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
220     VT_VALUE = 4,
221     VT_VALUE_WIDTH = 6
222   };
valueFLATBUFFERS_FINAL_CLASS223   const flatbuffers::Vector<uint8_t> *value() const {
224     return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_VALUE);
225   }
value_widthFLATBUFFERS_FINAL_CLASS226   uint8_t value_width() const {
227     return GetField<uint8_t>(VT_VALUE_WIDTH, 0);
228   }
VerifyFLATBUFFERS_FINAL_CLASS229   bool Verify(flatbuffers::Verifier &verifier) const {
230     return VerifyTableStart(verifier) &&
231            VerifyOffsetRequired(verifier, VT_VALUE) &&
232            verifier.VerifyVector(value()) &&
233            VerifyField<uint8_t>(verifier, VT_VALUE_WIDTH, 1) &&
234            verifier.EndTable();
235   }
236 };
237 
238 struct CompoundValueBuilder {
239   typedef CompoundValue Table;
240   flatbuffers::FlatBufferBuilder &fbb_;
241   flatbuffers::uoffset_t start_;
add_valueCompoundValueBuilder242   void add_value(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> value) {
243     fbb_.AddOffset(CompoundValue::VT_VALUE, value);
244   }
add_value_widthCompoundValueBuilder245   void add_value_width(uint8_t value_width) {
246     fbb_.AddElement<uint8_t>(CompoundValue::VT_VALUE_WIDTH, value_width, 0);
247   }
CompoundValueBuilderCompoundValueBuilder248   explicit CompoundValueBuilder(flatbuffers::FlatBufferBuilder &_fbb)
249         : fbb_(_fbb) {
250     start_ = fbb_.StartTable();
251   }
FinishCompoundValueBuilder252   flatbuffers::Offset<CompoundValue> Finish() {
253     const auto end = fbb_.EndTable(start_);
254     auto o = flatbuffers::Offset<CompoundValue>(end);
255     fbb_.Required(o, CompoundValue::VT_VALUE);
256     return o;
257   }
258 };
259 
260 inline flatbuffers::Offset<CompoundValue> CreateCompoundValue(
261     flatbuffers::FlatBufferBuilder &_fbb,
262     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> value = 0,
263     uint8_t value_width = 0) {
264   CompoundValueBuilder builder_(_fbb);
265   builder_.add_value(value);
266   builder_.add_value_width(value_width);
267   return builder_.Finish();
268 }
269 
270 inline flatbuffers::Offset<CompoundValue> CreateCompoundValueDirect(
271     flatbuffers::FlatBufferBuilder &_fbb,
272     const std::vector<uint8_t> *value = nullptr,
273     uint8_t value_width = 0) {
274   auto value__ = value ? _fbb.CreateVector<uint8_t>(*value) : 0;
275   return bluetooth::fbs::le_audio::CreateCompoundValue(
276       _fbb,
277       value__,
278       value_width);
279 }
280 
281 struct CodecSpecificConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
282   typedef CodecSpecificConfigurationBuilder Builder;
283   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
284     VT_NAME = 4,
285     VT_TYPE = 6,
286     VT_COMPOUND_VALUE = 8
287   };
nameFLATBUFFERS_FINAL_CLASS288   const flatbuffers::String *name() const {
289     return GetPointer<const flatbuffers::String *>(VT_NAME);
290   }
typeFLATBUFFERS_FINAL_CLASS291   uint8_t type() const {
292     return GetField<uint8_t>(VT_TYPE, 0);
293   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS294   bool KeyCompareLessThan(const CodecSpecificConfiguration *o) const {
295     return type() < o->type();
296   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS297   int KeyCompareWithValue(uint8_t _type) const {
298     return static_cast<int>(type() > _type) - static_cast<int>(type() < _type);
299   }
compound_valueFLATBUFFERS_FINAL_CLASS300   const bluetooth::fbs::le_audio::CompoundValue *compound_value() const {
301     return GetPointer<const bluetooth::fbs::le_audio::CompoundValue *>(VT_COMPOUND_VALUE);
302   }
VerifyFLATBUFFERS_FINAL_CLASS303   bool Verify(flatbuffers::Verifier &verifier) const {
304     return VerifyTableStart(verifier) &&
305            VerifyOffset(verifier, VT_NAME) &&
306            verifier.VerifyString(name()) &&
307            VerifyField<uint8_t>(verifier, VT_TYPE, 1) &&
308            VerifyOffset(verifier, VT_COMPOUND_VALUE) &&
309            verifier.VerifyTable(compound_value()) &&
310            verifier.EndTable();
311   }
312 };
313 
314 struct CodecSpecificConfigurationBuilder {
315   typedef CodecSpecificConfiguration Table;
316   flatbuffers::FlatBufferBuilder &fbb_;
317   flatbuffers::uoffset_t start_;
add_nameCodecSpecificConfigurationBuilder318   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
319     fbb_.AddOffset(CodecSpecificConfiguration::VT_NAME, name);
320   }
add_typeCodecSpecificConfigurationBuilder321   void add_type(uint8_t type) {
322     fbb_.AddElement<uint8_t>(CodecSpecificConfiguration::VT_TYPE, type, 0);
323   }
add_compound_valueCodecSpecificConfigurationBuilder324   void add_compound_value(flatbuffers::Offset<bluetooth::fbs::le_audio::CompoundValue> compound_value) {
325     fbb_.AddOffset(CodecSpecificConfiguration::VT_COMPOUND_VALUE, compound_value);
326   }
CodecSpecificConfigurationBuilderCodecSpecificConfigurationBuilder327   explicit CodecSpecificConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
328         : fbb_(_fbb) {
329     start_ = fbb_.StartTable();
330   }
FinishCodecSpecificConfigurationBuilder331   flatbuffers::Offset<CodecSpecificConfiguration> Finish() {
332     const auto end = fbb_.EndTable(start_);
333     auto o = flatbuffers::Offset<CodecSpecificConfiguration>(end);
334     return o;
335   }
336 };
337 
338 inline flatbuffers::Offset<CodecSpecificConfiguration> CreateCodecSpecificConfiguration(
339     flatbuffers::FlatBufferBuilder &_fbb,
340     flatbuffers::Offset<flatbuffers::String> name = 0,
341     uint8_t type = 0,
342     flatbuffers::Offset<bluetooth::fbs::le_audio::CompoundValue> compound_value = 0) {
343   CodecSpecificConfigurationBuilder builder_(_fbb);
344   builder_.add_compound_value(compound_value);
345   builder_.add_name(name);
346   builder_.add_type(type);
347   return builder_.Finish();
348 }
349 
350 inline flatbuffers::Offset<CodecSpecificConfiguration> CreateCodecSpecificConfigurationDirect(
351     flatbuffers::FlatBufferBuilder &_fbb,
352     const char *name = nullptr,
353     uint8_t type = 0,
354     flatbuffers::Offset<bluetooth::fbs::le_audio::CompoundValue> compound_value = 0) {
355   auto name__ = name ? _fbb.CreateString(name) : 0;
356   return bluetooth::fbs::le_audio::CreateCodecSpecificConfiguration(
357       _fbb,
358       name__,
359       type,
360       compound_value);
361 }
362 
363 struct AudioSetSubConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
364   typedef AudioSetSubConfigurationBuilder Builder;
365   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
366     VT_ASE_CHANNEL_CNT = 4,
367     VT_ASE_CNT = 6,
368     VT_DIRECTION = 8,
369     VT_CODEC_ID = 10,
370     VT_CODEC_CONFIGURATION = 12
371   };
ase_channel_cntFLATBUFFERS_FINAL_CLASS372   uint8_t ase_channel_cnt() const {
373     return GetField<uint8_t>(VT_ASE_CHANNEL_CNT, 0);
374   }
ase_cntFLATBUFFERS_FINAL_CLASS375   uint8_t ase_cnt() const {
376     return GetField<uint8_t>(VT_ASE_CNT, 0);
377   }
directionFLATBUFFERS_FINAL_CLASS378   bluetooth::fbs::le_audio::AudioSetConfigurationDirection direction() const {
379     return static_cast<bluetooth::fbs::le_audio::AudioSetConfigurationDirection>(GetField<int8_t>(VT_DIRECTION, 1));
380   }
codec_idFLATBUFFERS_FINAL_CLASS381   const bluetooth::fbs::le_audio::CodecId *codec_id() const {
382     return GetStruct<const bluetooth::fbs::le_audio::CodecId *>(VT_CODEC_ID);
383   }
codec_configurationFLATBUFFERS_FINAL_CLASS384   const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecSpecificConfiguration>> *codec_configuration() const {
385     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecSpecificConfiguration>> *>(VT_CODEC_CONFIGURATION);
386   }
VerifyFLATBUFFERS_FINAL_CLASS387   bool Verify(flatbuffers::Verifier &verifier) const {
388     return VerifyTableStart(verifier) &&
389            VerifyField<uint8_t>(verifier, VT_ASE_CHANNEL_CNT, 1) &&
390            VerifyField<uint8_t>(verifier, VT_ASE_CNT, 1) &&
391            VerifyField<int8_t>(verifier, VT_DIRECTION, 1) &&
392            VerifyFieldRequired<bluetooth::fbs::le_audio::CodecId>(verifier, VT_CODEC_ID, 2) &&
393            VerifyOffsetRequired(verifier, VT_CODEC_CONFIGURATION) &&
394            verifier.VerifyVector(codec_configuration()) &&
395            verifier.VerifyVectorOfTables(codec_configuration()) &&
396            verifier.EndTable();
397   }
398 };
399 
400 struct AudioSetSubConfigurationBuilder {
401   typedef AudioSetSubConfiguration Table;
402   flatbuffers::FlatBufferBuilder &fbb_;
403   flatbuffers::uoffset_t start_;
add_ase_channel_cntAudioSetSubConfigurationBuilder404   void add_ase_channel_cnt(uint8_t ase_channel_cnt) {
405     fbb_.AddElement<uint8_t>(AudioSetSubConfiguration::VT_ASE_CHANNEL_CNT, ase_channel_cnt, 0);
406   }
add_ase_cntAudioSetSubConfigurationBuilder407   void add_ase_cnt(uint8_t ase_cnt) {
408     fbb_.AddElement<uint8_t>(AudioSetSubConfiguration::VT_ASE_CNT, ase_cnt, 0);
409   }
add_directionAudioSetSubConfigurationBuilder410   void add_direction(bluetooth::fbs::le_audio::AudioSetConfigurationDirection direction) {
411     fbb_.AddElement<int8_t>(AudioSetSubConfiguration::VT_DIRECTION, static_cast<int8_t>(direction), 1);
412   }
add_codec_idAudioSetSubConfigurationBuilder413   void add_codec_id(const bluetooth::fbs::le_audio::CodecId *codec_id) {
414     fbb_.AddStruct(AudioSetSubConfiguration::VT_CODEC_ID, codec_id);
415   }
add_codec_configurationAudioSetSubConfigurationBuilder416   void add_codec_configuration(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecSpecificConfiguration>>> codec_configuration) {
417     fbb_.AddOffset(AudioSetSubConfiguration::VT_CODEC_CONFIGURATION, codec_configuration);
418   }
AudioSetSubConfigurationBuilderAudioSetSubConfigurationBuilder419   explicit AudioSetSubConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
420         : fbb_(_fbb) {
421     start_ = fbb_.StartTable();
422   }
FinishAudioSetSubConfigurationBuilder423   flatbuffers::Offset<AudioSetSubConfiguration> Finish() {
424     const auto end = fbb_.EndTable(start_);
425     auto o = flatbuffers::Offset<AudioSetSubConfiguration>(end);
426     fbb_.Required(o, AudioSetSubConfiguration::VT_CODEC_ID);
427     fbb_.Required(o, AudioSetSubConfiguration::VT_CODEC_CONFIGURATION);
428     return o;
429   }
430 };
431 
432 inline flatbuffers::Offset<AudioSetSubConfiguration> CreateAudioSetSubConfiguration(
433     flatbuffers::FlatBufferBuilder &_fbb,
434     uint8_t ase_channel_cnt = 0,
435     uint8_t ase_cnt = 0,
436     bluetooth::fbs::le_audio::AudioSetConfigurationDirection direction = bluetooth::fbs::le_audio::AudioSetConfigurationDirection_SINK,
437     const bluetooth::fbs::le_audio::CodecId *codec_id = nullptr,
438     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecSpecificConfiguration>>> codec_configuration = 0) {
439   AudioSetSubConfigurationBuilder builder_(_fbb);
440   builder_.add_codec_configuration(codec_configuration);
441   builder_.add_codec_id(codec_id);
442   builder_.add_direction(direction);
443   builder_.add_ase_cnt(ase_cnt);
444   builder_.add_ase_channel_cnt(ase_channel_cnt);
445   return builder_.Finish();
446 }
447 
448 inline flatbuffers::Offset<AudioSetSubConfiguration> CreateAudioSetSubConfigurationDirect(
449     flatbuffers::FlatBufferBuilder &_fbb,
450     uint8_t ase_channel_cnt = 0,
451     uint8_t ase_cnt = 0,
452     bluetooth::fbs::le_audio::AudioSetConfigurationDirection direction = bluetooth::fbs::le_audio::AudioSetConfigurationDirection_SINK,
453     const bluetooth::fbs::le_audio::CodecId *codec_id = nullptr,
454     std::vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecSpecificConfiguration>> *codec_configuration = nullptr) {
455   auto codec_configuration__ = codec_configuration ? _fbb.CreateVectorOfSortedTables<bluetooth::fbs::le_audio::CodecSpecificConfiguration>(codec_configuration) : 0;
456   return bluetooth::fbs::le_audio::CreateAudioSetSubConfiguration(
457       _fbb,
458       ase_channel_cnt,
459       ase_cnt,
460       direction,
461       codec_id,
462       codec_configuration__);
463 }
464 
465 struct CodecConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
466   typedef CodecConfigurationBuilder Builder;
467   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
468     VT_NAME = 4,
469     VT_SUBCONFIGURATIONS = 6
470   };
nameFLATBUFFERS_FINAL_CLASS471   const flatbuffers::String *name() const {
472     return GetPointer<const flatbuffers::String *>(VT_NAME);
473   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS474   bool KeyCompareLessThan(const CodecConfiguration *o) const {
475     return *name() < *o->name();
476   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS477   int KeyCompareWithValue(const char *_name) const {
478     return strcmp(name()->c_str(), _name);
479   }
subconfigurationsFLATBUFFERS_FINAL_CLASS480   const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>> *subconfigurations() const {
481     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>> *>(VT_SUBCONFIGURATIONS);
482   }
VerifyFLATBUFFERS_FINAL_CLASS483   bool Verify(flatbuffers::Verifier &verifier) const {
484     return VerifyTableStart(verifier) &&
485            VerifyOffsetRequired(verifier, VT_NAME) &&
486            verifier.VerifyString(name()) &&
487            VerifyOffsetRequired(verifier, VT_SUBCONFIGURATIONS) &&
488            verifier.VerifyVector(subconfigurations()) &&
489            verifier.VerifyVectorOfTables(subconfigurations()) &&
490            verifier.EndTable();
491   }
492 };
493 
494 struct CodecConfigurationBuilder {
495   typedef CodecConfiguration Table;
496   flatbuffers::FlatBufferBuilder &fbb_;
497   flatbuffers::uoffset_t start_;
add_nameCodecConfigurationBuilder498   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
499     fbb_.AddOffset(CodecConfiguration::VT_NAME, name);
500   }
add_subconfigurationsCodecConfigurationBuilder501   void add_subconfigurations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>>> subconfigurations) {
502     fbb_.AddOffset(CodecConfiguration::VT_SUBCONFIGURATIONS, subconfigurations);
503   }
CodecConfigurationBuilderCodecConfigurationBuilder504   explicit CodecConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
505         : fbb_(_fbb) {
506     start_ = fbb_.StartTable();
507   }
FinishCodecConfigurationBuilder508   flatbuffers::Offset<CodecConfiguration> Finish() {
509     const auto end = fbb_.EndTable(start_);
510     auto o = flatbuffers::Offset<CodecConfiguration>(end);
511     fbb_.Required(o, CodecConfiguration::VT_NAME);
512     fbb_.Required(o, CodecConfiguration::VT_SUBCONFIGURATIONS);
513     return o;
514   }
515 };
516 
517 inline flatbuffers::Offset<CodecConfiguration> CreateCodecConfiguration(
518     flatbuffers::FlatBufferBuilder &_fbb,
519     flatbuffers::Offset<flatbuffers::String> name = 0,
520     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>>> subconfigurations = 0) {
521   CodecConfigurationBuilder builder_(_fbb);
522   builder_.add_subconfigurations(subconfigurations);
523   builder_.add_name(name);
524   return builder_.Finish();
525 }
526 
527 inline flatbuffers::Offset<CodecConfiguration> CreateCodecConfigurationDirect(
528     flatbuffers::FlatBufferBuilder &_fbb,
529     const char *name = nullptr,
530     const std::vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>> *subconfigurations = nullptr) {
531   auto name__ = name ? _fbb.CreateString(name) : 0;
532   auto subconfigurations__ = subconfigurations ? _fbb.CreateVector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetSubConfiguration>>(*subconfigurations) : 0;
533   return bluetooth::fbs::le_audio::CreateCodecConfiguration(
534       _fbb,
535       name__,
536       subconfigurations__);
537 }
538 
539 struct QosConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
540   typedef QosConfigurationBuilder Builder;
541   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
542     VT_NAME = 4,
543     VT_TARGET_LATENCY = 6,
544     VT_RETRANSMISSION_NUMBER = 8,
545     VT_MAX_TRANSPORT_LATENCY = 10
546   };
nameFLATBUFFERS_FINAL_CLASS547   const flatbuffers::String *name() const {
548     return GetPointer<const flatbuffers::String *>(VT_NAME);
549   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS550   bool KeyCompareLessThan(const QosConfiguration *o) const {
551     return *name() < *o->name();
552   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS553   int KeyCompareWithValue(const char *_name) const {
554     return strcmp(name()->c_str(), _name);
555   }
target_latencyFLATBUFFERS_FINAL_CLASS556   bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency target_latency() const {
557     return static_cast<bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency>(GetField<int8_t>(VT_TARGET_LATENCY, 2));
558   }
retransmission_numberFLATBUFFERS_FINAL_CLASS559   uint8_t retransmission_number() const {
560     return GetField<uint8_t>(VT_RETRANSMISSION_NUMBER, 0);
561   }
max_transport_latencyFLATBUFFERS_FINAL_CLASS562   uint16_t max_transport_latency() const {
563     return GetField<uint16_t>(VT_MAX_TRANSPORT_LATENCY, 0);
564   }
VerifyFLATBUFFERS_FINAL_CLASS565   bool Verify(flatbuffers::Verifier &verifier) const {
566     return VerifyTableStart(verifier) &&
567            VerifyOffsetRequired(verifier, VT_NAME) &&
568            verifier.VerifyString(name()) &&
569            VerifyField<int8_t>(verifier, VT_TARGET_LATENCY, 1) &&
570            VerifyField<uint8_t>(verifier, VT_RETRANSMISSION_NUMBER, 1) &&
571            VerifyField<uint16_t>(verifier, VT_MAX_TRANSPORT_LATENCY, 2) &&
572            verifier.EndTable();
573   }
574 };
575 
576 struct QosConfigurationBuilder {
577   typedef QosConfiguration Table;
578   flatbuffers::FlatBufferBuilder &fbb_;
579   flatbuffers::uoffset_t start_;
add_nameQosConfigurationBuilder580   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
581     fbb_.AddOffset(QosConfiguration::VT_NAME, name);
582   }
add_target_latencyQosConfigurationBuilder583   void add_target_latency(bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency target_latency) {
584     fbb_.AddElement<int8_t>(QosConfiguration::VT_TARGET_LATENCY, static_cast<int8_t>(target_latency), 2);
585   }
add_retransmission_numberQosConfigurationBuilder586   void add_retransmission_number(uint8_t retransmission_number) {
587     fbb_.AddElement<uint8_t>(QosConfiguration::VT_RETRANSMISSION_NUMBER, retransmission_number, 0);
588   }
add_max_transport_latencyQosConfigurationBuilder589   void add_max_transport_latency(uint16_t max_transport_latency) {
590     fbb_.AddElement<uint16_t>(QosConfiguration::VT_MAX_TRANSPORT_LATENCY, max_transport_latency, 0);
591   }
QosConfigurationBuilderQosConfigurationBuilder592   explicit QosConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
593         : fbb_(_fbb) {
594     start_ = fbb_.StartTable();
595   }
FinishQosConfigurationBuilder596   flatbuffers::Offset<QosConfiguration> Finish() {
597     const auto end = fbb_.EndTable(start_);
598     auto o = flatbuffers::Offset<QosConfiguration>(end);
599     fbb_.Required(o, QosConfiguration::VT_NAME);
600     return o;
601   }
602 };
603 
604 inline flatbuffers::Offset<QosConfiguration> CreateQosConfiguration(
605     flatbuffers::FlatBufferBuilder &_fbb,
606     flatbuffers::Offset<flatbuffers::String> name = 0,
607     bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency target_latency = bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency_BALANCED_RELIABILITY,
608     uint8_t retransmission_number = 0,
609     uint16_t max_transport_latency = 0) {
610   QosConfigurationBuilder builder_(_fbb);
611   builder_.add_name(name);
612   builder_.add_max_transport_latency(max_transport_latency);
613   builder_.add_retransmission_number(retransmission_number);
614   builder_.add_target_latency(target_latency);
615   return builder_.Finish();
616 }
617 
618 inline flatbuffers::Offset<QosConfiguration> CreateQosConfigurationDirect(
619     flatbuffers::FlatBufferBuilder &_fbb,
620     const char *name = nullptr,
621     bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency target_latency = bluetooth::fbs::le_audio::AudioSetConfigurationTargetLatency_BALANCED_RELIABILITY,
622     uint8_t retransmission_number = 0,
623     uint16_t max_transport_latency = 0) {
624   auto name__ = name ? _fbb.CreateString(name) : 0;
625   return bluetooth::fbs::le_audio::CreateQosConfiguration(
626       _fbb,
627       name__,
628       target_latency,
629       retransmission_number,
630       max_transport_latency);
631 }
632 
633 /// Each set configration can contain multiple logical subconfigurations, which
634 /// all must be configurable with the current set of audio devices. For example,
635 /// one can define multiple output stream configurations with different
636 /// qualities, or assign different configurations to each stream direction.
637 struct AudioSetConfiguration FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
638   typedef AudioSetConfigurationBuilder Builder;
639   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
640     VT_NAME = 4,
641     VT_CODEC_CONFIG_NAME = 6,
642     VT_QOS_CONFIG_NAME = 8
643   };
nameFLATBUFFERS_FINAL_CLASS644   const flatbuffers::String *name() const {
645     return GetPointer<const flatbuffers::String *>(VT_NAME);
646   }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS647   bool KeyCompareLessThan(const AudioSetConfiguration *o) const {
648     return *name() < *o->name();
649   }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS650   int KeyCompareWithValue(const char *_name) const {
651     return strcmp(name()->c_str(), _name);
652   }
codec_config_nameFLATBUFFERS_FINAL_CLASS653   const flatbuffers::String *codec_config_name() const {
654     return GetPointer<const flatbuffers::String *>(VT_CODEC_CONFIG_NAME);
655   }
qos_config_nameFLATBUFFERS_FINAL_CLASS656   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *qos_config_name() const {
657     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_QOS_CONFIG_NAME);
658   }
VerifyFLATBUFFERS_FINAL_CLASS659   bool Verify(flatbuffers::Verifier &verifier) const {
660     return VerifyTableStart(verifier) &&
661            VerifyOffsetRequired(verifier, VT_NAME) &&
662            verifier.VerifyString(name()) &&
663            VerifyOffsetRequired(verifier, VT_CODEC_CONFIG_NAME) &&
664            verifier.VerifyString(codec_config_name()) &&
665            VerifyOffsetRequired(verifier, VT_QOS_CONFIG_NAME) &&
666            verifier.VerifyVector(qos_config_name()) &&
667            verifier.VerifyVectorOfStrings(qos_config_name()) &&
668            verifier.EndTable();
669   }
670 };
671 
672 struct AudioSetConfigurationBuilder {
673   typedef AudioSetConfiguration Table;
674   flatbuffers::FlatBufferBuilder &fbb_;
675   flatbuffers::uoffset_t start_;
add_nameAudioSetConfigurationBuilder676   void add_name(flatbuffers::Offset<flatbuffers::String> name) {
677     fbb_.AddOffset(AudioSetConfiguration::VT_NAME, name);
678   }
add_codec_config_nameAudioSetConfigurationBuilder679   void add_codec_config_name(flatbuffers::Offset<flatbuffers::String> codec_config_name) {
680     fbb_.AddOffset(AudioSetConfiguration::VT_CODEC_CONFIG_NAME, codec_config_name);
681   }
add_qos_config_nameAudioSetConfigurationBuilder682   void add_qos_config_name(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> qos_config_name) {
683     fbb_.AddOffset(AudioSetConfiguration::VT_QOS_CONFIG_NAME, qos_config_name);
684   }
AudioSetConfigurationBuilderAudioSetConfigurationBuilder685   explicit AudioSetConfigurationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
686         : fbb_(_fbb) {
687     start_ = fbb_.StartTable();
688   }
FinishAudioSetConfigurationBuilder689   flatbuffers::Offset<AudioSetConfiguration> Finish() {
690     const auto end = fbb_.EndTable(start_);
691     auto o = flatbuffers::Offset<AudioSetConfiguration>(end);
692     fbb_.Required(o, AudioSetConfiguration::VT_NAME);
693     fbb_.Required(o, AudioSetConfiguration::VT_CODEC_CONFIG_NAME);
694     fbb_.Required(o, AudioSetConfiguration::VT_QOS_CONFIG_NAME);
695     return o;
696   }
697 };
698 
699 inline flatbuffers::Offset<AudioSetConfiguration> CreateAudioSetConfiguration(
700     flatbuffers::FlatBufferBuilder &_fbb,
701     flatbuffers::Offset<flatbuffers::String> name = 0,
702     flatbuffers::Offset<flatbuffers::String> codec_config_name = 0,
703     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> qos_config_name = 0) {
704   AudioSetConfigurationBuilder builder_(_fbb);
705   builder_.add_qos_config_name(qos_config_name);
706   builder_.add_codec_config_name(codec_config_name);
707   builder_.add_name(name);
708   return builder_.Finish();
709 }
710 
711 inline flatbuffers::Offset<AudioSetConfiguration> CreateAudioSetConfigurationDirect(
712     flatbuffers::FlatBufferBuilder &_fbb,
713     const char *name = nullptr,
714     const char *codec_config_name = nullptr,
715     const std::vector<flatbuffers::Offset<flatbuffers::String>> *qos_config_name = nullptr) {
716   auto name__ = name ? _fbb.CreateString(name) : 0;
717   auto codec_config_name__ = codec_config_name ? _fbb.CreateString(codec_config_name) : 0;
718   auto qos_config_name__ = qos_config_name ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*qos_config_name) : 0;
719   return bluetooth::fbs::le_audio::CreateAudioSetConfiguration(
720       _fbb,
721       name__,
722       codec_config_name__,
723       qos_config_name__);
724 }
725 
726 struct AudioSetConfigurations FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
727   typedef AudioSetConfigurationsBuilder Builder;
728   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
729     VT__COMMENTS_ = 4,
730     VT_CONFIGURATIONS = 6,
731     VT_CODEC_CONFIGURATIONS = 8,
732     VT_QOS_CONFIGURATIONS = 10
733   };
_comments_FLATBUFFERS_FINAL_CLASS734   const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *_comments_() const {
735     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT__COMMENTS_);
736   }
configurationsFLATBUFFERS_FINAL_CLASS737   const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfiguration>> *configurations() const {
738     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfiguration>> *>(VT_CONFIGURATIONS);
739   }
codec_configurationsFLATBUFFERS_FINAL_CLASS740   const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecConfiguration>> *codec_configurations() const {
741     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecConfiguration>> *>(VT_CODEC_CONFIGURATIONS);
742   }
qos_configurationsFLATBUFFERS_FINAL_CLASS743   const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::QosConfiguration>> *qos_configurations() const {
744     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::QosConfiguration>> *>(VT_QOS_CONFIGURATIONS);
745   }
VerifyFLATBUFFERS_FINAL_CLASS746   bool Verify(flatbuffers::Verifier &verifier) const {
747     return VerifyTableStart(verifier) &&
748            VerifyOffset(verifier, VT__COMMENTS_) &&
749            verifier.VerifyVector(_comments_()) &&
750            verifier.VerifyVectorOfStrings(_comments_()) &&
751            VerifyOffsetRequired(verifier, VT_CONFIGURATIONS) &&
752            verifier.VerifyVector(configurations()) &&
753            verifier.VerifyVectorOfTables(configurations()) &&
754            VerifyOffsetRequired(verifier, VT_CODEC_CONFIGURATIONS) &&
755            verifier.VerifyVector(codec_configurations()) &&
756            verifier.VerifyVectorOfTables(codec_configurations()) &&
757            VerifyOffsetRequired(verifier, VT_QOS_CONFIGURATIONS) &&
758            verifier.VerifyVector(qos_configurations()) &&
759            verifier.VerifyVectorOfTables(qos_configurations()) &&
760            verifier.EndTable();
761   }
762 };
763 
764 struct AudioSetConfigurationsBuilder {
765   typedef AudioSetConfigurations Table;
766   flatbuffers::FlatBufferBuilder &fbb_;
767   flatbuffers::uoffset_t start_;
add__comments_AudioSetConfigurationsBuilder768   void add__comments_(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> _comments_) {
769     fbb_.AddOffset(AudioSetConfigurations::VT__COMMENTS_, _comments_);
770   }
add_configurationsAudioSetConfigurationsBuilder771   void add_configurations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfiguration>>> configurations) {
772     fbb_.AddOffset(AudioSetConfigurations::VT_CONFIGURATIONS, configurations);
773   }
add_codec_configurationsAudioSetConfigurationsBuilder774   void add_codec_configurations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecConfiguration>>> codec_configurations) {
775     fbb_.AddOffset(AudioSetConfigurations::VT_CODEC_CONFIGURATIONS, codec_configurations);
776   }
add_qos_configurationsAudioSetConfigurationsBuilder777   void add_qos_configurations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::QosConfiguration>>> qos_configurations) {
778     fbb_.AddOffset(AudioSetConfigurations::VT_QOS_CONFIGURATIONS, qos_configurations);
779   }
AudioSetConfigurationsBuilderAudioSetConfigurationsBuilder780   explicit AudioSetConfigurationsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
781         : fbb_(_fbb) {
782     start_ = fbb_.StartTable();
783   }
FinishAudioSetConfigurationsBuilder784   flatbuffers::Offset<AudioSetConfigurations> Finish() {
785     const auto end = fbb_.EndTable(start_);
786     auto o = flatbuffers::Offset<AudioSetConfigurations>(end);
787     fbb_.Required(o, AudioSetConfigurations::VT_CONFIGURATIONS);
788     fbb_.Required(o, AudioSetConfigurations::VT_CODEC_CONFIGURATIONS);
789     fbb_.Required(o, AudioSetConfigurations::VT_QOS_CONFIGURATIONS);
790     return o;
791   }
792 };
793 
794 inline flatbuffers::Offset<AudioSetConfigurations> CreateAudioSetConfigurations(
795     flatbuffers::FlatBufferBuilder &_fbb,
796     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> _comments_ = 0,
797     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfiguration>>> configurations = 0,
798     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecConfiguration>>> codec_configurations = 0,
799     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<bluetooth::fbs::le_audio::QosConfiguration>>> qos_configurations = 0) {
800   AudioSetConfigurationsBuilder builder_(_fbb);
801   builder_.add_qos_configurations(qos_configurations);
802   builder_.add_codec_configurations(codec_configurations);
803   builder_.add_configurations(configurations);
804   builder_.add__comments_(_comments_);
805   return builder_.Finish();
806 }
807 
808 inline flatbuffers::Offset<AudioSetConfigurations> CreateAudioSetConfigurationsDirect(
809     flatbuffers::FlatBufferBuilder &_fbb,
810     const std::vector<flatbuffers::Offset<flatbuffers::String>> *_comments_ = nullptr,
811     std::vector<flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfiguration>> *configurations = nullptr,
812     std::vector<flatbuffers::Offset<bluetooth::fbs::le_audio::CodecConfiguration>> *codec_configurations = nullptr,
813     std::vector<flatbuffers::Offset<bluetooth::fbs::le_audio::QosConfiguration>> *qos_configurations = nullptr) {
814   auto _comments___ = _comments_ ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*_comments_) : 0;
815   auto configurations__ = configurations ? _fbb.CreateVectorOfSortedTables<bluetooth::fbs::le_audio::AudioSetConfiguration>(configurations) : 0;
816   auto codec_configurations__ = codec_configurations ? _fbb.CreateVectorOfSortedTables<bluetooth::fbs::le_audio::CodecConfiguration>(codec_configurations) : 0;
817   auto qos_configurations__ = qos_configurations ? _fbb.CreateVectorOfSortedTables<bluetooth::fbs::le_audio::QosConfiguration>(qos_configurations) : 0;
818   return bluetooth::fbs::le_audio::CreateAudioSetConfigurations(
819       _fbb,
820       _comments___,
821       configurations__,
822       codec_configurations__,
823       qos_configurations__);
824 }
825 
GetAudioSetConfigurations(const void * buf)826 inline const bluetooth::fbs::le_audio::AudioSetConfigurations *GetAudioSetConfigurations(const void *buf) {
827   return flatbuffers::GetRoot<bluetooth::fbs::le_audio::AudioSetConfigurations>(buf);
828 }
829 
GetSizePrefixedAudioSetConfigurations(const void * buf)830 inline const bluetooth::fbs::le_audio::AudioSetConfigurations *GetSizePrefixedAudioSetConfigurations(const void *buf) {
831   return flatbuffers::GetSizePrefixedRoot<bluetooth::fbs::le_audio::AudioSetConfigurations>(buf);
832 }
833 
VerifyAudioSetConfigurationsBuffer(flatbuffers::Verifier & verifier)834 inline bool VerifyAudioSetConfigurationsBuffer(
835     flatbuffers::Verifier &verifier) {
836   return verifier.VerifyBuffer<bluetooth::fbs::le_audio::AudioSetConfigurations>(nullptr);
837 }
838 
VerifySizePrefixedAudioSetConfigurationsBuffer(flatbuffers::Verifier & verifier)839 inline bool VerifySizePrefixedAudioSetConfigurationsBuffer(
840     flatbuffers::Verifier &verifier) {
841   return verifier.VerifySizePrefixedBuffer<bluetooth::fbs::le_audio::AudioSetConfigurations>(nullptr);
842 }
843 
FinishAudioSetConfigurationsBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfigurations> root)844 inline void FinishAudioSetConfigurationsBuffer(
845     flatbuffers::FlatBufferBuilder &fbb,
846     flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfigurations> root) {
847   fbb.Finish(root);
848 }
849 
FinishSizePrefixedAudioSetConfigurationsBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfigurations> root)850 inline void FinishSizePrefixedAudioSetConfigurationsBuffer(
851     flatbuffers::FlatBufferBuilder &fbb,
852     flatbuffers::Offset<bluetooth::fbs::le_audio::AudioSetConfigurations> root) {
853   fbb.FinishSizePrefixed(root);
854 }
855 
856 }  // namespace le_audio
857 }  // namespace fbs
858 }  // namespace bluetooth
859 
860 #endif  // FLATBUFFERS_GENERATED_AUDIOSETCONFIGURATIONS_BLUETOOTH_FBS_LE_AUDIO_H_
861