class Info

Defined at line 2626 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_types.h

When a device is detected (or added via `Provider/AddDevice`), it is

queried for its properties and capabilities. Once this enumeration process

completes, it is announced to clients that are watching for device arrivals

via `Registry/WatchDevicesAdded`.

An `Info` table is returned for each audio device that has been added.

Public Methods

void Info (Storage_ storage)
void Info ()

Defined at line 2631 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_types.h

void Info (Info && )

Defined at line 2632 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_types.h

void Info (const Info & other)
Info & operator= (Info && )

Defined at line 2633 of file fidling/gen/sdk/fidl/fuchsia.audio.device/fuchsia.audio.device/cpp/fidl/fuchsia.audio.device/cpp/natural_types.h

Info & operator= (const Info & other)
bool operator== (const Info & other)
bool operator!= (const Info & other)
bool IsEmpty ()
const std::optional<uint64_t> & token_id ()

A device identifier that is guaranteed unique for this boot session, but

may change across reboots.

Required.

::std::optional<uint64_t> & token_id ()

A device identifier that is guaranteed unique for this boot session, but

may change across reboots.

Required.

Info & token_id (std::optional<uint64_t> value)

A device identifier that is guaranteed unique for this boot session, but

may change across reboots.

Required.

const std::optional< ::fuchsia_audio_device::DeviceType> & device_type ()

The protocol used by the driver.

Required.

::std::optional< ::fuchsia_audio_device::DeviceType> & device_type ()

The protocol used by the driver.

Required.

Info & device_type (std::optional< ::fuchsia_audio_device::DeviceType> value)

The protocol used by the driver.

Required.

const std::optional< ::std::string> & device_name ()

The device's high-level name, as received from devfs or the `Provider/AddDevice` caller.

This string must be non-empty.

Required.

::std::optional< ::std::string> & device_name ()

The device's high-level name, as received from devfs or the `Provider/AddDevice` caller.

This string must be non-empty.

Required.

Info & device_name (std::optional< ::std::string> value)

The device's high-level name, as received from devfs or the `Provider/AddDevice` caller.

This string must be non-empty.

Required.

const std::optional< ::std::string> & manufacturer ()

The name of the device's manufacturer.

If present, this string must be non-empty.

Optional.

::std::optional< ::std::string> & manufacturer ()

The name of the device's manufacturer.

If present, this string must be non-empty.

Optional.

Info & manufacturer (std::optional< ::std::string> value)

The name of the device's manufacturer.

If present, this string must be non-empty.

Optional.

const std::optional< ::std::string> & product ()

The device's high-level product name.

If present, this string must be non-empty.

Optional.

::std::optional< ::std::string> & product ()

The device's high-level product name.

If present, this string must be non-empty.

Optional.

Info & product (std::optional< ::std::string> value)

The device's high-level product name.

If present, this string must be non-empty.

Optional.

const std::optional< ::std::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.

::std::optional< ::std::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.

Info & unique_instance_id (std::optional< ::std::array<uint8_t, 16>> value)

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.

const std::optional<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.

::std::optional<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.

Info & is_input (std::optional<bool> value)

Whether the device is a source (is_input TRUE) or destination (is_input FALSE) of audio.

Optional for Codec; absent for Composite.

const std::optional< ::std::vector< ::fuchsia_audio_device::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.

::std::optional< ::std::vector< ::fuchsia_audio_device::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.

Info & ring_buffer_format_sets (std::optional< ::std::vector< ::fuchsia_audio_device::ElementRingBufferFormatSet>> value)

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.

const std::optional< ::std::vector< ::fuchsia_audio_device::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.

::std::optional< ::std::vector< ::fuchsia_audio_device::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.

Info & dai_format_sets (std::optional< ::std::vector< ::fuchsia_audio_device::ElementDaiFormatSet>> value)

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.

const std::optional< ::fuchsia_audio_device::PlugDetectCapabilities> & plug_detect_caps ()

The device's hot-plug capabilities.

Required for Codec; absent for Composite.

::std::optional< ::fuchsia_audio_device::PlugDetectCapabilities> & plug_detect_caps ()

The device's hot-plug capabilities.

Required for Codec; absent for Composite.

Info & plug_detect_caps (std::optional< ::fuchsia_audio_device::PlugDetectCapabilities> value)

The device's hot-plug capabilities.

Required for Codec; absent for Composite.

const std::optional<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.

::std::optional<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.

Info & clock_domain (std::optional<uint32_t> value)

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.

const std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::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.

::std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::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.

Info & signal_processing_elements (std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::Element>> value)

The vector of supported signal-processing elements.

If present, must contain at least one element.

Required for Composite; optional for Codec.

const std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::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.

::std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::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.

Info & signal_processing_topologies (std::optional< ::std::vector< ::fuchsia_hardware_audio_signalprocessing::Topology>> value)

The vector of supported signal-processing topologies.

If present, must contain at least one element.

Required for Composite; optional for Codec.

void Info (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits