class EmbeddedServer

Defined at line 95 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h

RAII handle to a running embedded `fuchsia.driver.lab` server and its

background FIDL executor thread.

Public Methods

void EmbeddedServer ()

Defined at line 97 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h

void EmbeddedServer (const EmbeddedServer & )

Defined at line 103 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h

EmbeddedServer & operator= (const EmbeddedServer & )

Defined at line 104 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h

void ~EmbeddedServer ()

Defined at line 115 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

void EmbeddedServer (EmbeddedServer && other)

Defined at line 117 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

EmbeddedServer & operator= (EmbeddedServer && other)

Defined at line 121 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

template <typename OutgoingDir>
zx::result<> Publish (OutgoingDir & outgoing, std::string_view instance)

Publishes `fuchsia.driver.lab.Service` onto a DFv2 `fdf::OutgoingDirectory`

(or any outgoing directory wrapper providing `AddService

<Service

>(...)`).

When disabled, this is a no-op and returns `zx::ok()`.

Defined at line 123 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h

bool is_enabled ()

Returns whether the embedded server is enabled.

Defined at line 138 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

bool is_quiesced ()

Returns whether the driver is currently quiesced by an active mutating

host session.

Defined at line 140 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

zx::result<> Publish (component::OutgoingDirectory & outgoing, std::string_view instance)

Publishes `fuchsia.driver.lab.Service` onto a `component::OutgoingDirectory`.

When disabled, this is a no-op and returns `zx::ok()`.

Defined at line 142 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

zx::result<> ServeProxy (fidl::ServerEnd<fuchsia_driver_lab::Proxy> request)

Serves a single `fuchsia.driver.lab/Proxy` server-end channel on the

embedded server's background executor.

Defined at line 160 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

void NotifyInterrupt (uint32_t resource_id)

Taps an interrupt event from the driver's interrupt handler.

Defined at line 168 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

void Stop ()

Stops accepting new sessions, releases any active mutation lease and

quiesce hook, and cancels pending interrupt waiters.

Defined at line 172 of file ../../src/devices/driver-lab/cpp/driver_lab.cc

Friends

class Builder