template <>

class Server

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

Public Methods

void Server ()

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

void Start (StartRequest & request, 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 (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.

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 ~Server ()

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