template <>

class WireServer

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

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_driver_framework::Driver>|

and |::fdf::ServerEnd

<

::fuchsia_driver_framework::Driver>|).

Public Methods

void Start (::fuchsia_driver_framework::wire::DriverStartRequest * request, fdf::Arena & arena, StartCompleter::Sync & completer)

Starts the driver with the given |start_args|.

Drivers should finish their initial setup and enumeration before returning from |Start|.

In particular they should enumerate all currently available nodes by utilizing

`fuchsia.driver.framework/Node.AddChild` and waiting for all calls to be completed.

The Framework will not consider the driver to be started until this call has returned

successfully. Therefore a driver will not have |Stop| called on it until after it has

replied to |Start| successfully.

If a driver returns an error, it will not have |Stop| called on it before the

Driver Framework initiates shutdown of the driver's dispatchers. Therefore it should have

performed all necessary cleanup before returning an error.

void Stop (fdf::Arena & arena, StopCompleter::Sync & completer)

Stops the driver. To stop, the driver should teardown any resources it set up in or after

|Start|. This is a one-way FIDL method. When the driver has completed stopping, it should

close its server end. Asynchronous operations should fully complete before closing

the server end.

void WireServer ()

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

Handler bind_handler (fdf_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 381 of file fidling/gen/sdk/fidl/fuchsia.driver.framework/fuchsia.driver.framework/cpp/fidl/fuchsia.driver.framework/cpp/driver/wire_messaging.h