template <>

class Server

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

Public Methods

void GetDriverInfo (GetDriverInfoRequest & request, GetDriverInfoCompleter::Sync & completer)

Returns a list of all drivers that are known to the system.

If a |driver_filter| is provided, the returned list will be filtered to

only include drivers specified in the filter.

|iterator| is closed with following epitaphs on error:

ZX_ERR_NOT_FOUND indicates that there is no driver matching the given path for at least

one driver in |driver_filter|.

ZX_ERR_BUFFER_TOO_SMALL indicates that the driver's bind program is longer than the

maximum number of instructions (BIND_PROGRAM_INSTRUCTIONS_MAX).

void GetCompositeNodeSpecs (GetCompositeNodeSpecsRequest & request, GetCompositeNodeSpecsCompleter::Sync & completer)

Returns a list of all composite node specs that are known to the system.

If a |name_filter| is provided, the returned list will only include 1 spec,

the one with that exact name.

|iterator| is closed with following epitaphs on error:

ZX_ERR_NOT_FOUND indicates that there are no specs or if a |name_filter| is provided,

that there are no specs with that name.

void GetNodeInfo (GetNodeInfoRequest & request, GetNodeInfoCompleter::Sync & completer)

Returns the list of nodes that are running on the system.

If a |node_filter| is provided, the returned list will be filtered to

only include nodes specified in the filter. If |exact_match| is true,

then the filter must exactly match a node's topological path;

otherwise, it performs a substring match. The list will be empty if no

nodes match the filter.

|iterator| is closed with following epitaphs on error:

ZX_ERR_BAD_PATH indicates that the given path is not valid.

ZX_ERR_BUFFER_TOO_SMALL indicates either that the given path is too long,

or that the node has more than the maximum number of properties (PROPERTIES_MAX).

void GetCompositeInfo (GetCompositeInfoRequest & request, GetCompositeInfoCompleter::Sync & completer)

Returns the list of composites in the system. This includes composites

that are not yet assembled and added into the node topology.

void GetDriverHostInfo (GetDriverHostInfoRequest & request, GetDriverHostInfoCompleter::Sync & completer)

Returns a list of all driver hosts that are known to the system.

void RestartDriverHosts (RestartDriverHostsRequest & request, RestartDriverHostsCompleter::Sync & completer)

Restarts all driver hosts containing the driver specified by the `driver_url`,

and returns the number of driver hosts that were restarted.

The |rematch_flags| will be used to decide for which restarting nodes the existing driver

should be bound vs. for which ones the matching process should be performed again.

void DisableDriver (DisableDriverRequest & request, DisableDriverCompleter::Sync & completer)

Disables the driver with the given driver component url.

Disabled drivers will not be considered for matching to nodes.

If a |package_hash| is provided, only that specific version of the driver

package will be disabled. Otherwise this applies to all existing versions

of a driver with the given url.

Returns an error ZX_ERR_NOT_FOUND if no drivers were affected.

void EnableDriver (EnableDriverRequest & request, EnableDriverCompleter::Sync & completer)

Enables the driver with the given driver component url.

This is only meant to revert a |DisableDriver| action.

Returns an error ZX_ERR_NOT_FOUND if no drivers were affected.

void BindAllUnboundNodes (BindAllUnboundNodesCompleter::Sync & completer)

Attempts to bind all unbound nodes in the topology.

Returns new successful binds.

void BindAllUnboundNodes2 (BindAllUnboundNodes2Completer::Sync & completer)

Attempts to bind all unbound nodes in the topology.

Returns new successful binds.

void AddTestNode (AddTestNodeRequest & request, AddTestNodeCompleter::Sync & completer)

Adds test node under the root node.

void RemoveTestNode (RemoveTestNodeRequest & request, RemoveTestNodeCompleter::Sync & completer)

Removes the test node. The node is removed asynchronously and is

not guaranteed to be removed by the time this returns.

void Server ()

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

void WaitForBootup (WaitForBootupCompleter::Sync & completer)

Waits for bootup to complete.

void RestartWithDictionary (RestartWithDictionaryRequest & request, RestartWithDictionaryCompleter::Sync & completer)

Restarts the driver components bound to the nodes identified in |node_ids|,

providing them with the given dictionary. All child nodes are also restarted

and provided with this dictionary. This operation is temporary and

is reversed by releasing the |release_fence| that is returned.

void RebindCompositesWithDriver (RebindCompositesWithDriverRequest & request, RebindCompositesWithDriverCompleter::Sync & completer)

Rebinds any composites and composite specs that have the given driver_url. This means the

spec is rematched with possibly another driver, or none if the only matching driver is

disabled, and any active nodes created from this spec are removed and re-bound.

Returns the number of affected composite nodes.

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

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