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