class TreeServer

Defined at line 29 of file ../../sdk/lib/inspect/component/cpp/service.h

TreeServer is an implementation of the fuchsia.inspect.Tree protocol.

Generally, it is not necessary to use this directly. See `inspect::ComponentInspector`.

This class can be used directly if the client wishes to manage protocol registration

details manually.

For an example of usage, see the constructor for `inspect::ComponentInspector`.

Public Methods

void StartSelfManagedServer (std::variant<Inspector, zx::vmo> data, TreeHandlerSettings settings, async_dispatcher_t * dispatcher, fidl::ServerEnd<fuchsia_inspect::Tree> && request)

Starts a new server. The implementation deletes itself during teardown after an unbind or

else runs until component shutdown.

`data` is the Inspect data served over the connection.

The `Inspector` variant results in full-featured Inspect with lazy nodes

and values.

The `zx::vmo` variant will not serve lazy nodes/values. It will only serve the Inspect

data in itself. The VMO may contain lazy nodes/values, but they will be ignored when

snapshotting and parsing the data.

Defined at line 50 of file ../../sdk/lib/inspect/component/cpp/service.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_inspect::Tree> md, fidl::UnknownMethodCompleter::Sync & completer)

Defined at line 60 of file ../../sdk/lib/inspect/component/cpp/service.h

void GetContent (GetContentCompleter::Sync & completer)

Get the VMO handle for the Inspector handled by this server.

Defined at line 64 of file ../../sdk/lib/inspect/component/cpp/service.cc

void OpenChild (OpenChildRequestView request, OpenChildCompleter::Sync & completer)

Start a server for handling the lazy child whose name is passed.

Defined at line 134 of file ../../sdk/lib/inspect/component/cpp/service.cc

void ListChildNames (ListChildNamesRequestView request, ListChildNamesCompleter::Sync & completer)

Start a server that furnishes the names of this Tree's children.

The names provided by the server this method starts are valid values to be passed to

`OpenChild`.

Defined at line 116 of file ../../sdk/lib/inspect/component/cpp/service.cc