template <>

class WireServer

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

Pure-virtual interface to be implemented by a server.

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

<

::fuchsia_driver_registrar::DriverRegistrar>|

and |::fidl::ServerEnd

<

::fuchsia_driver_registrar::DriverRegistrar>|).

Public Methods

void Register (::fuchsia_driver_registrar::wire::DriverRegistrarRegisterRequest * request, RegisterCompleter::Sync & completer)

Informs the driver framework of an ephemeral driver. The metadata will

be cached by the driver index to be used in future matching operations.

* error a zx_status value indicating failure. One of the following:

* `ZX_ERR_PROTOCOL_NOT_SUPPORTED` if the ephermeral driver config

`enable_ephemeral_drivers` is not enabled.

* `ZX_ERR_ACCESS_DENIED` if the device does not have permissions

to fetch the package.

* `ZX_ERR_ALREADY_EXISTS` if the driver component being registered

already exists in the boot or base drivers list.

* `ZX_ERR_NOT_FOUND` if the package does not exist or it is missing

a manifest or /pkg directory.

* `ZX_ERR_IO` if there is some other unspecified error during I/O.

* `ZX_ERR_ADDRESS_UNREACHABLE` if the package resolver does not

know about the repo or the url cannot be parsed.

* `ZX_ERR_INVALID_ARGS` if the component decl cannot be parsed.

* `ZX_ERR_NO_SPACE` if the device is out of space.

* `ZX_ERR_UNAVAILABLE` if the package resolver could not be reached.

* `ZX_ERR_INTERNAL` if an unspecified error was encountered.

void WireServer ()

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