template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 1312 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::DaiProperties Build ()

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

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_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_name ()
void clear_product_name ()

Clears the product_name field.

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

O(number_of_fields) complexity.

::fidl::StringView & product_name ()

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_name (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_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 for the driver.

If not included, there is no unique id for the driver.

Optional.

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

A unique identifier for the driver.

If not included, there is no unique id for the driver.

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::DaiProperties, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_hardware_audio::wire::DaiProperties>> && frame)

Records