template <typename BuilderImpl>
class WireTableBaseBuilder
Defined at line 5519 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/wire_types.h
Public Methods
::fuchsia_audio_device::wire::Info Build ()
Build and return the table. The builder should not be used after this.
bool has_token_id ()
void clear_token_id ()
Clears the token_id field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint64_t & token_id ()
A device identifier that is guaranteed unique for this boot session, but
may change across reboots.
Required.
BuilderImpl & token_id (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)
A device identifier that is guaranteed unique for this boot session, but
may change across reboots.
Required.
bool has_device_type ()
void clear_device_type ()
Clears the device_type field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_audio_device::wire::DeviceType & device_type ()
The protocol used by the driver.
Required.
BuilderImpl & device_type (::fuchsia_audio_device::wire::DeviceType elem)
The protocol used by the driver.
Required.
bool has_device_name ()
void clear_device_name ()
Clears the device_name field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & device_name ()
The device's high-level name, as received from devfs or the `Provider/AddDevice` caller.
This string must be non-empty.
Required.
BuilderImpl & device_name (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
The device's high-level name, as received from devfs or the `Provider/AddDevice` caller.
This string must be non-empty.
Required.
bool has_manufacturer ()
void clear_manufacturer ()
Clears the manufacturer field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & manufacturer ()
The name of the device's manufacturer.
If present, this string must be non-empty.
Optional.
BuilderImpl & manufacturer (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
The name of the device's manufacturer.
If present, this string must be non-empty.
Optional.
bool has_product ()
void clear_product ()
Clears the product field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::StringView & product ()
The device's high-level product name.
If present, this string must be non-empty.
Optional.
BuilderImpl & product (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)
The device's high-level product name.
If present, this string must be non-empty.
Optional.
bool has_unique_instance_id ()
void clear_unique_instance_id ()
Clears the unique_instance_id field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::Array<uint8_t, 16> & unique_instance_id ()
A 16-character ID provided by the driver that (if present) can be used
to differentiate instances of the same device. This value should not
change across system reboots.
Optional.
BuilderImpl & unique_instance_id (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::Array<uint8_t, 16>>> elem)
A 16-character ID provided by the driver that (if present) can be used
to differentiate instances of the same device. This value should not
change across system reboots.
Optional.
bool has_is_input ()
void clear_is_input ()
Clears the is_input field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
bool & is_input ()
Whether the device is a source (is_input TRUE) or destination (is_input FALSE) of audio.
Optional for Codec; absent for Composite.
BuilderImpl & is_input (bool elem)
Whether the device is a source (is_input TRUE) or destination (is_input FALSE) of audio.
Optional for Codec; absent for Composite.
bool has_ring_buffer_format_sets ()
void clear_ring_buffer_format_sets ()
Clears the ring_buffer_format_sets field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_audio_device::wire::ElementRingBufferFormatSet> & ring_buffer_format_sets ()
The union of all formats the device can support, across all combinations of device
configuration settings.
If the device exposes one or more RingBuffer ENDPOINT elements, this field must be present
and its vector must contain exactly one entry for each relevant ENDPOINT element.
If the device exposes NO RingBuffer ENDPOINT elements, this field must be omitted (entirely
absent, rather than populated with an empty vector).
If present, must contain at least one element.
Optional for Composite; absent for Codec.
BuilderImpl & ring_buffer_format_sets (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_audio_device::wire::ElementRingBufferFormatSet>>> elem)
The union of all formats the device can support, across all combinations of device
configuration settings.
If the device exposes one or more RingBuffer ENDPOINT elements, this field must be present
and its vector must contain exactly one entry for each relevant ENDPOINT element.
If the device exposes NO RingBuffer ENDPOINT elements, this field must be omitted (entirely
absent, rather than populated with an empty vector).
If present, must contain at least one element.
Optional for Composite; absent for Codec.
bool has_dai_format_sets ()
void clear_dai_format_sets ()
Clears the dai_format_sets field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_audio_device::wire::ElementDaiFormatSet> & dai_format_sets ()
The union of all DAI formats the device can support, across all combinations
of device configuration settings.
If the device exposes one or more Dai ENDPOINT elements, this field must be present and its
vector must contain exactly one entry for each relevant ENDPOINT element.
If the device exposes NO Dai ENDPOINT elements, this field must be omitted (entirely absent,
rather than populated with an empty vector).
If present, must contain at least one element.
Required for Codec; optional for Composite.
BuilderImpl & dai_format_sets (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_audio_device::wire::ElementDaiFormatSet>>> elem)
The union of all DAI formats the device can support, across all combinations
of device configuration settings.
If the device exposes one or more Dai ENDPOINT elements, this field must be present and its
vector must contain exactly one entry for each relevant ENDPOINT element.
If the device exposes NO Dai ENDPOINT elements, this field must be omitted (entirely absent,
rather than populated with an empty vector).
If present, must contain at least one element.
Required for Codec; optional for Composite.
bool has_plug_detect_caps ()
void clear_plug_detect_caps ()
Clears the plug_detect_caps field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fuchsia_audio_device::wire::PlugDetectCapabilities & plug_detect_caps ()
The device's hot-plug capabilities.
Required for Codec; absent for Composite.
BuilderImpl & plug_detect_caps (::fuchsia_audio_device::wire::PlugDetectCapabilities elem)
The device's hot-plug capabilities.
Required for Codec; absent for Composite.
bool has_clock_domain ()
void clear_clock_domain ()
Clears the clock_domain field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
uint32_t & clock_domain ()
An identifier for the clock domain in which the device's clock hardware
operates. Devices in the same clock domain remain perfectly
synchronized. They may drift relative to some other clock domain, but
all clocks in that domain will do so perfectly _together_. Although
their clocks have the same rate, their positions may be offset by an
arbitrary, fixed amount.
There are two special values for clock domain:
* `CLOCK_DOMAIN_MONOTONIC` means the hardware is driven by the system
montonic clock and will always be synchronized with that timeline.
* `CLOCK_DOMAIN_EXTERNAL` means the hardware is not synchronized with any
other known clocks (even any other clocks in `CLOCK_DOMAIN_EXTERNAL`).
Required for Composite; absent for Codec.
BuilderImpl & clock_domain (uint32_t elem)
An identifier for the clock domain in which the device's clock hardware
operates. Devices in the same clock domain remain perfectly
synchronized. They may drift relative to some other clock domain, but
all clocks in that domain will do so perfectly _together_. Although
their clocks have the same rate, their positions may be offset by an
arbitrary, fixed amount.
There are two special values for clock domain:
* `CLOCK_DOMAIN_MONOTONIC` means the hardware is driven by the system
montonic clock and will always be synchronized with that timeline.
* `CLOCK_DOMAIN_EXTERNAL` means the hardware is not synchronized with any
other known clocks (even any other clocks in `CLOCK_DOMAIN_EXTERNAL`).
Required for Composite; absent for Codec.
bool has_signal_processing_elements ()
void clear_signal_processing_elements ()
Clears the signal_processing_elements field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_hardware_audio_signalprocessing::wire::Element> & signal_processing_elements ()
The vector of supported signal-processing elements.
If present, must contain at least one element.
Required for Composite; optional for Codec.
BuilderImpl & signal_processing_elements (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_audio_signalprocessing::wire::Element>>> elem)
The vector of supported signal-processing elements.
If present, must contain at least one element.
Required for Composite; optional for Codec.
bool has_signal_processing_topologies ()
void clear_signal_processing_topologies ()
Clears the signal_processing_topologies field.
This method should be used sparingly, such as only during tests, as it has
O(number_of_fields) complexity.
::fidl::VectorView< ::fuchsia_hardware_audio_signalprocessing::wire::Topology> & signal_processing_topologies ()
The vector of supported signal-processing topologies.
If present, must contain at least one element.
Required for Composite; optional for Codec.
BuilderImpl & signal_processing_topologies (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::VectorView< ::fuchsia_hardware_audio_signalprocessing::wire::Topology>>> elem)
The vector of supported signal-processing topologies.
If present, must contain at least one element.
Required for Composite; optional for Codec.
Protected Methods
void WireTableBaseBuilder< ::fuchsia_audio_device::wire::Info, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_audio_device::wire::Info>> && frame)