template <>
class WireSyncClientImpl
Defined at line 7758 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_messaging.h
Methods to make a sync FIDL call directly on an unowned handle or a
const reference to a |::fidl::ClientEnd
<
::fuchsia_hardware_audio::Composite>|,
avoiding setting up a client.
Public Methods
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::GetHealthState> GetHealthState ()
Retrieves top level health state.
A driver not responding promptly can be used as an indication of an unhealthy driver.
Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::OneWayStatus SignalProcessingConnect (::fidl::ServerEnd< ::fuchsia_hardware_audio_signalprocessing::SignalProcessing> && protocol)
Connect to a `SignalProcessing` protocol.
Multiple connections may be supported, if a new connection request is not supported, i.e.
the maximum number of connections have already been created, for instance one, then the
`protocol` channel (not the channel upon which `SignalProcessingConnect` is being called)
will be closed with a `ZX_ERR_ALREADY_BOUND` epitaph.
If signal processing is not supported at all, then the `protocol` channel (again, not the
channel upon which `SignalProcessingConnect` is being called) will be closed with a
`ZX_ERR_NOT_SUPPORTED` epitaph.
This method is named `SignalProcessingConnect` instead of `Connect` because this protocol
is intended to be composed, and hence the more verbose name allows differentiation and
improved clarity.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::Reset> Reset ()
Resets the hardware including all DAI interconnects and signal processing.
As a result, all channels obtained by `CreateRingBuffer` will be closed.
`Reset` returns when the hardware is fully reset. At this point, a client would need to
reconfigure any DAI interconnects, select a signal processing topology and reconfigure
any processing elements, and reconstruct any ring buffers.
If the driver can't successfully reset the hardware, it will return an error and then close
the protocol channel, in this case the client may obtain a new protocol channel and retry.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::GetProperties> GetProperties ()
Retrieves top level static properties.
Allocates 16 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::GetRingBufferFormats> GetRingBufferFormats (uint64_t processing_element_id)
Retrieves the ring buffer formats supported by a `RING_BUFFER` processing element
in the topology supported by this driver as returned by `GetElements` from
fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the ring buffer formats are not available at the time, the
client may retry at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`RING_BUFFER`.
Retrieving multiple `SupportedFormats2` allows for cases where exclusive combinations of
the parameters in `SupportedFormats2` may be supported.
The vector returned to the caller must contain at least one entry.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::CreateRingBuffer> CreateRingBuffer (uint64_t processing_element_id, ::fuchsia_hardware_audio::wire::Format2 format, ::fidl::ServerEnd< ::fuchsia_hardware_audio::RingBuffer> && ring_buffer)
`CreateRingBuffer` is sent by clients to select a ring buffer format for the `RING_BUFFER`
processing element specified by `processing_element_id`. The format is based on information
that the driver provides in `GetRingBufferFormats`, what is supported by the client, and
any other requirement. The returned `ring_buffer` channel is used to access and control the
audio buffer provided by the driver.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`RING_BUFFER`.
Returns `NOT_SUPPORTED` if the driver does not support ring buffers, or if the specified
`format` is not supported.
Allocates 128 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::GetDaiFormats> GetDaiFormats (uint64_t processing_element_id)
Retrieves the DAI formats supported by a `DAI_INTERCONNECT` processing element
in the topology supported by this driver as returned by `GetElements` from
fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the DAI formats are not available at the time, the client
may retry at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`DAI_INTERCONNECT`.
Retrieving multiple `DaiSupportedFormats` allows for cases where exclusive combinations of
the parameters in DaiSupportedFormats may be supported.
The vector returned to the caller must contain at least one entry.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::SetDaiFormat> SetDaiFormat (uint64_t processing_element_id, const ::fuchsia_hardware_audio::wire::DaiFormat & format)
`SetDaiFormat` is sent by clients to select a DAI format for the `DAI_INTERCONNECT`
processing element specified by `processing_element_id`. The format is based on information
that the driver provides in `GetDaiFormats`, what is supported by the client, and any other
requirement.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned
by `GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`DAI_INTERCONNECT`.
Allocates 104 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::GetPacketStreamFormats> GetPacketStreamFormats (uint64_t processing_element_id)
Retrieves the packet-stream formats supported by a `PACKET_STREAM` processing element
in the topologies supported by this driver, as returned by `GetElements` and `GetTopologies`
from fuchsia.hardware.audio.signalprocessing.
Returns `SHOULD_WAIT` if the packet-stream formats are not available at this time. The
client may retry this request at a later time.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned by
`GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`PACKET_STREAM`.
Returns `NOT_SUPPORTED` if the driver does not support packet streams.
Returning a vector with multiple `SupportedFormats2` enables cases where exclusive
combinations of the parameters in `SupportedFormats2` may be supported.
The vector returned to the caller must contain at least one entry.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_hardware_audio::Composite::CreatePacketStream> CreatePacketStream (uint64_t processing_element_id, ::fuchsia_hardware_audio::wire::Format2 format, ::fidl::ServerEnd< ::fuchsia_hardware_audio::PacketStreamControl> && packet_stream_control)
`CreatePacketStream` is sent by clients to select a packet-stream format for the
`PACKET_STREAM` processing element specified by `processing_element_id`. The format is based
on information that the driver provides in `GetPacketStreamFormats`, what is supported by
the client, and any other requirement. The returned `packet_stream` channel is used to
access and control the packet stream protocol served by the driver.
Returns `INVALID_ARGS` if the `processing_element_id` does not match an id returned by
`GetElements`.
Returns `WRONG_TYPE` if the `ElementType` of the element represented by the id is not
`PACKET_STREAM`.
Returns `SHOULD_WAIT` if the server cannot create a packet stream for this element/format
at this time, but it should be able to at some future time. This request can be retried.
Returns `NOT_SUPPORTED` if the driver does not support packet streams, or if the specified
`format` is not supported.
Allocates 128 bytes of message buffer on the stack. No heap allocation necessary.