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