template <>
class Server
Defined at line 2099 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_messaging.h
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 Server ()
Defined at line 2102 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_messaging.h
void SignalProcessingConnect (SignalProcessingConnectRequest & 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 (CreateRingBufferRequest & 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.
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 ~Server ()
Defined at line 2103 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_messaging.h