template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 6943 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_types.h

Public Methods

::fuchsia_hardware_audio::wire::StreamProperties Build ()

Build and return the table. The builder should not be used after this.

bool has_unique_id ()
void clear_unique_id ()

Clears the unique_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_id ()

A unique identifier. If not included, there is no unique id for the StreamConfig.

`unique_id` arrays starting with 0x42, 0x54, ... (or `BT` in ASCII) are

reserved for drivers implementing Bluetooth technologies.

`unique_id` arrays starting with 0x55, 0x53, 0x42, ... (or `USB` in ASCII) are

reserved for drivers implementing USB technologies.

Note that even though the above values map to readable ASCII characters, array

values can span the entire uint8 range (0-255).

Optional.

BuilderImpl & unique_id (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::Array<uint8_t, 16>>> elem)

A unique identifier. If not included, there is no unique id for the StreamConfig.

`unique_id` arrays starting with 0x42, 0x54, ... (or `BT` in ASCII) are

reserved for drivers implementing Bluetooth technologies.

`unique_id` arrays starting with 0x55, 0x53, 0x42, ... (or `USB` in ASCII) are

reserved for drivers implementing USB technologies.

Note that even though the above values map to readable ASCII characters, array

values can span the entire uint8 range (0-255).

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 ()

Driver type is input (true) or output (false)

Required.

BuilderImpl & is_input (bool elem)

Driver type is input (true) or output (false)

Required.

bool has_can_mute ()
void clear_can_mute ()

Clears the can_mute field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

bool & can_mute ()

Gain mute capability. If not included, the StreamConfig can't mute.

Optional.

BuilderImpl & can_mute (bool elem)

Gain mute capability. If not included, the StreamConfig can't mute.

Optional.

bool has_can_agc ()
void clear_can_agc ()

Clears the can_agc field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

bool & can_agc ()

Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.

Optional.

BuilderImpl & can_agc (bool elem)

Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.

Optional.

bool has_min_gain_db ()
void clear_min_gain_db ()

Clears the min_gain_db field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

float & min_gain_db ()

Minimum gain in decibels.

Required.

BuilderImpl & min_gain_db (float elem)

Minimum gain in decibels.

Required.

bool has_max_gain_db ()
void clear_max_gain_db ()

Clears the max_gain_db field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

float & max_gain_db ()

Maximum gain in decibels.

Required.

BuilderImpl & max_gain_db (float elem)

Maximum gain in decibels.

Required.

bool has_gain_step_db ()
void clear_gain_step_db ()

Clears the gain_step_db field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

float & gain_step_db ()

Gain step in decibels, this value must not be negative, but may be zero to convey an

effectively continuous range of values. Must not exceed `max_gain_db` - `min_gain_db`.

Required.

BuilderImpl & gain_step_db (float elem)

Gain step in decibels, this value must not be negative, but may be zero to convey an

effectively continuous range of values. Must not exceed `max_gain_db` - `min_gain_db`.

Required.

bool has_plug_detect_capabilities ()
void clear_plug_detect_capabilities ()

Clears the plug_detect_capabilities field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_hardware_audio::wire::PlugDetectCapabilities & plug_detect_capabilities ()

Plug Detect Capabilities.

Required.

BuilderImpl & plug_detect_capabilities (::fuchsia_hardware_audio::wire::PlugDetectCapabilities elem)

Plug Detect Capabilities.

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 ()

UI string for the manufacturer name. If not included, the manufacturer is unspecified.

If included, this string must be non-empty.

Optional.

BuilderImpl & manufacturer (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

UI string for the manufacturer name. If not included, the manufacturer is unspecified.

If included, 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 ()

UI string for the product name. If not included, the product name is unspecified.

If included, this string must be non-empty.

Optional.

BuilderImpl & product (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fidl::StringView>> elem)

UI string for the product name. If not included, the product name is unspecified.

If included, this string must be non-empty.

Optional.

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 this hardware operates. If

two hardware devices have the same clock domain, their clock rates are

identical and perfectly synchronized. Although these two clocks have the

same rate, the clock positions may be offset from each other by an

arbitrary (but fixed) amount. The clock_domain typically comes from a

system wide entity, such as a platform bus or global clock tree.

There are two special values:

* `CLOCK_DOMAIN_MONOTONIC` means the hardware is operating at the same

rate as the system montonic clock.

* `CLOCK_DOMAIN_EXTERNAL` means the hardware is operating at an unknown

rate and is not synchronized with any known clock, not even with

other clocks in domain `CLOCK_DOMAIN_EXTERNAL`.

If the domain is not `CLOCK_DOMAIN_MONOTONIC`, client must use position

notification updates to recover the hardware's clock.

Required.

BuilderImpl & clock_domain (uint32_t elem)

An identifier for the clock domain in which this hardware operates. If

two hardware devices have the same clock domain, their clock rates are

identical and perfectly synchronized. Although these two clocks have the

same rate, the clock positions may be offset from each other by an

arbitrary (but fixed) amount. The clock_domain typically comes from a

system wide entity, such as a platform bus or global clock tree.

There are two special values:

* `CLOCK_DOMAIN_MONOTONIC` means the hardware is operating at the same

rate as the system montonic clock.

* `CLOCK_DOMAIN_EXTERNAL` means the hardware is operating at an unknown

rate and is not synchronized with any known clock, not even with

other clocks in domain `CLOCK_DOMAIN_EXTERNAL`.

If the domain is not `CLOCK_DOMAIN_MONOTONIC`, client must use position

notification updates to recover the hardware's clock.

Required.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_hardware_audio::wire::StreamProperties, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::StreamProperties>> && frame)

Records