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