template <>
class Server
Defined at line 4910 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 4913 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 GetProperties (GetPropertiesCompleter::Sync & completer)
Retrieves top level static properties.
void GetSupportedFormats (GetSupportedFormatsCompleter::Sync & completer)
Gets formats supported by a given driver. When not all combinations supported by the
driver can be described with one `SupportedFormats`, the driver returns more than one
`SupportedFormats` in the returned vector. For example, if one `SupportedFormats` allows
for 32 bits samples at 48KHz, and 16 bits samples at 96KHz, but not 32 bits samples at
96KHz, then the driver replies with 2 `SupportedFormats`:
<
<
32bits>,
<
48KHz>> and
<
<
16bits>,
<
96KHz>>. For simplicity, this example ignores parameters other than rate and
bits per sample. In the case where the driver supports either 16 or 32 bits samples at
either 48 or 96KHz, the driver would reply with 1 `SupportedFormats`:
<
<
16bits,32bits>,
<
48KHz,96KHz>>.
void CreateRingBuffer (CreateRingBufferRequest & request, CreateRingBufferCompleter::Sync & completer)
`CreateRingBuffer` is sent by clients to select a stream format based on information that
the driver provides in `GetSupportedFormats` 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 WatchGainState (WatchGainStateCompleter::Sync & completer)
Get the gain state via a hanging get. The driver will reply to the first `WatchGainState`
sent by the client and this reply must include a `gain_db` set to 0dB or lower. The driver
will not respond to subsequent client `WatchGainState` calls until the gain state changes
from what was most recently reported.
If `WatchGainState` is called for a second time before the first call has completed, then
the protocol channel must be closed with the error `ZX_ERR_BAD_STATE`.
void SetGain (SetGainRequest & request, SetGainCompleter::Sync & completer)
Client update of the gain state.
void WatchPlugState (WatchPlugStateCompleter::Sync & completer)
Get the plug detect state via a hanging get. The driver will reply to the first
`WatchPlugState` sent by the client. The driver will not respond to subsequent client
`WatchPlugState` calls until the plug state changes from what was most recently reported.
If `WatchPlugState` is called for a second time before the first call has completed, then
the protocol channel must be closed with the error `ZX_ERR_BAD_STATE`.
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 4914 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio/fuchsia.hardware.audio/cpp/fidl/fuchsia.hardware.audio/cpp/natural_messaging.h