template <>
class WireServer
Defined at line 5771 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_messaging.h
Pure-virtual interface to be implemented by a server.
This interface uses typed channels (i.e. |::fidl::ClientEnd
<
::fuchsia_hardware_audio::Dai>|
and |::fidl::ServerEnd
<
::fuchsia_hardware_audio::Dai>|).
Public Methods
void GetHealthState (GetHealthStateCompleter::Sync & completer)
Retrieves top level health state.
A driver not responding promptly can be used as an indication of an unhealthy driver.
void SignalProcessingConnect (::fuchsia_hardware_audio_signalprocessing::wire::ConnectorSignalProcessingConnectRequest * request, SignalProcessingConnectCompleter::Sync & completer)
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.
void Reset (ResetCompleter::Sync & completer)
Resets the DAI HW. The `ring_buffer` channel obtained via `CreateRingBuffer` may be closed
by the driver, in this case the client needs to obtain a new `ring_buffer`.
`Reset` returns when the reset is completed. If the driver can't successfully reset the HW,
it will close the DAI protocol channel, in this case the client may obtain a new DAI
protocol channel and retry.
void GetProperties (GetPropertiesCompleter::Sync & completer)
Retrieves top level static properties.
void GetDaiFormats (GetDaiFormatsCompleter::Sync & completer)
Retrieves the DAI formats supported by the DAI, if not available at the time the DAI
may reply with an error status and the client may retry at a later time.
Retrieving multiple `DaiSupportedFormats` allows for cases where exclusive combinations of
the parameters in SupportedFormats may be supported.
void GetRingBufferFormats (GetRingBufferFormatsCompleter::Sync & completer)
Retrieves the ring buffer formats supported by the DAI, if not available at the time the DAI
may reply with an error status and the client may retry at a later time.
Retrieving multiple `SupportedFormats` allows for cases where exclusive combinations of
the parameters in `SupportedFormats` may be supported.
void CreateRingBuffer (::fuchsia_hardware_audio::wire::DaiCreateRingBufferRequest * request, CreateRingBufferCompleter::Sync & completer)
`CreateRingBuffer` is sent by clients to select both a DAI format and a ring buffer format
based on information that the driver provides in `GetDaiFormats` and `GetRingBufferFormats`,
what is supported by the client, and any other requirement. The `ring_buffer` channel is
used to control the audio buffer, if a previous ring buffer channel had been established and
was still active, the driver must close that (ring buffer) channel and make every attempt to
gracefully quiesce any on-going streaming operations in the process.
void WireServer ()
Defined at line 5774 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_messaging.h
Handler bind_handler (async_dispatcher_t * dispatcher)
|bind_handler| returns a handler that binds incoming connections to this
server implementation.
The returned handler borrows the server instance.
The server must outlive the provided |dispatcher|. Only after
the dispatcher is shutdown will it be safe to destroy the servers.
The server should not be moved.
void ~WireServer ()
Defined at line 5775 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/wire_messaging.h