template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 2173 of file fidling/gen/sdk/fidl/fuchsia.audio/fuchsia.audio/cpp/fidl/fuchsia.audio/cpp/wire_types.h
Public Methods
::fuchsia_audio::wire::RingBuffer Build ()
Build and return the table. The builder should not be used after this.
bool has_buffer ()
void clear_buffer ()
Clears the buffer field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_mem::wire::Buffer & buffer ()
The actual ring buffer. The sum of `producer_bytes` and `consumer_bytes`
must be
<
= `buffer.size`.
Required.
BuilderImpl & buffer (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_mem::wire::Buffer>> elem)
The actual ring buffer. The sum of `producer_bytes` and `consumer_bytes`
must be
<
= `buffer.size`.
Required.
bool has_format ()
void clear_format ()
Clears the format field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_audio::wire::Format & format ()
Encoding of audio data in the buffer.
Required.
BuilderImpl & format (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_audio::wire::Format>> elem)
Encoding of audio data in the buffer.
Required.
bool has_producer_bytes ()
void clear_producer_bytes ()
Clears the producer_bytes field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & producer_bytes ()
The number of bytes allocated to the producer.
For PCM encodings, `P = producer_bytes / BytesPerFrame(format)`, where P
must be integral.
For non-PCM encodings, there are no constraints, however individual encodings
may impose stricter requirements.
Required.
BuilderImpl & producer_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
The number of bytes allocated to the producer.
For PCM encodings, `P = producer_bytes / BytesPerFrame(format)`, where P
must be integral.
For non-PCM encodings, there are no constraints, however individual encodings
may impose stricter requirements.
Required.
bool has_consumer_bytes ()
void clear_consumer_bytes ()
Clears the consumer_bytes field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & consumer_bytes ()
The number of bytes allocated to the consumer.
For PCM encodings, `C = consumer_bytes / BytesPerFrame(format)`, where C
must be integral.
For non-PCM encodings, there are no constraints, however individual encodings
may impose stricter requirements.
Required.
BuilderImpl & consumer_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
The number of bytes allocated to the consumer.
For PCM encodings, `C = consumer_bytes / BytesPerFrame(format)`, where C
must be integral.
For non-PCM encodings, there are no constraints, however individual encodings
may impose stricter requirements.
Required.
bool has_reference_clock ()
void clear_reference_clock ()
Clears the reference_clock field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::zx::clock & reference_clock ()
Reference clock for the ring buffer.
Required.
BuilderImpl & reference_clock (::zx::clock elem)
Reference clock for the ring buffer.
Required.
bool has_reference_clock_domain ()
void clear_reference_clock_domain ()
Clears the reference_clock_domain field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint32_t & reference_clock_domain ()
Domain of `reference_clock`. See `fuchsia.hardware.audio.ClockDomain`.
Optional. If not specified, defaults to `CLOCK_DOMAIN_EXTERNAL`.
BuilderImpl & reference_clock_domain (uint32_t elem)
Domain of `reference_clock`. See `fuchsia.hardware.audio.ClockDomain`.
Optional. If not specified, defaults to `CLOCK_DOMAIN_EXTERNAL`.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_audio::wire::RingBuffer, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_audio::wire::RingBuffer>> && frame)