template <>

class WireServer

Defined at line 1085 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_driver_framework::NodeController>|

and |::fidl::ServerEnd

<

::fuchsia_driver_framework::NodeController>|).

Public Methods

void Remove (RemoveCompleter::Sync & completer)

Removes the node and all of its children.

void RequestBind (::fuchsia_driver_framework::wire::NodeControllerRequestBindRequest * request, RequestBindCompleter::Sync & completer)

Request that the framework attempts to bind a driver to this node.

This is an *additional* request for binding as the framework attempts to bind a node once

when the node is created.

* error `ZX_ERR_ALREADY_BOUND` if the node is already bound and `force_rebind` is false.

* error `ZX_ERR_ALREADY_EXISTS` if the node has an outstanding |RequestBind| call which has

not completed.

void WaitForDriver (WaitForDriverCompleter::Sync & completer)

Hanging get style call that returns a terminal state for the associated `Node`,

or the composite node that is parented by this node.

For a successfully started driver this returns immediately with the token of the

node that the driver started on.

If an error happens we wait until bootup is complete, which is when all drivers that

can bind and start have done so, before returning the error.

void WireServer ()

Defined at line 1088 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/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 1089 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/wire_messaging.h