template <>

class WireServer

Defined at line 1358 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/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_signalprocessing::Reader>|

and |::fidl::ServerEnd

<

::fuchsia_hardware_audio_signalprocessing::Reader>|).

Public Methods

void GetElements (GetElementsCompleter::Sync & completer)

Returns a vector of supported processing elements.

This vector must include one or more processing elements.

void WatchElementState (::fuchsia_hardware_audio_signalprocessing::wire::ReaderWatchElementStateRequest * request, WatchElementStateCompleter::Sync & completer)

Get the processing element state via a hanging get.

For a given `processing_element_id`, the driver will immediately reply to the first

`WatchElementState` sent by the client. The driver will not respond to subsequent client

`WatchElementState` calls for that `processing_element_id` until any portion of the

`ElementState` has changed from what was most recently reported for that element.

The driver will close the protocol channel with an error of `ZX_ERR_INVALID_ARGS`, if

`processing_element_id` does not match an ElementId returned by `GetElements`.

The driver will close the protocol channel with an error of `ZX_ERR_BAD_STATE`, if this

method is called again while there is already a pending `WatchElementState` for this client

and `processing_element_id`.

void GetTopologies (GetTopologiesCompleter::Sync & completer)

Returns a vector of supported topologies.

This vector must include one or more topologies.

If more than one topology is returned, then the client may select any topology from the

list by calling `SetTopology`.

If only one topology is returned, `SetTopology` can still be called but causes no change.

Each Element must be included in at least one Topology, but need not be included in every

Topology.

void WatchTopology (WatchTopologyCompleter::Sync & completer)

Get the current topology via a hanging get.

The driver will immediately reply to the first `WatchTopology` sent by each client.

The driver will not respond to subsequent `WatchTopology` calls from that client until the

signal processing topology changes; this occurs as a result of a `SetTopology` call.

The driver will close the protocol channel with an error of `ZX_ERR_BAD_STATE`, if this

method is called again while there is already a pending `WatchTopology` for this client.

void WireServer ()

Defined at line 1361 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/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 1362 of file fidling/gen/sdk/fidl/fuchsia.hardware.audio.signalprocessing/fuchsia.hardware.audio.signalprocessing/cpp/fidl/fuchsia.hardware.audio.signalprocessing/cpp/wire_messaging.h