class Manager
Defined at line 6575 of file fidling/gen/sdk/fidl/fuchsia.driver.development/fuchsia.driver.development/hlcpp/fuchsia/driver/development/cpp/fidl.h
Interface for the driver development manager.
This interface should only be used for development and disabled in release builds.
Public Members
static const char[] Name_
Public Methods
void ~Manager ()
void GetDriverInfo (::std::vector< ::std::string> driver_filter, ::fidl::InterfaceRequest< ::fuchsia::driver::development::DriverInfoIterator> iterator)
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 (::fidl::StringPtr name_filter, ::fidl::InterfaceRequest< ::fuchsia::driver::development::CompositeNodeSpecIterator> iterator)
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 (::std::vector< ::std::string>node_filter,::fidl::InterfaceRequest< ::fuchsia::driver::development::NodeInfoIterator>iterator,boolexact_match)
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 (::fidl::InterfaceRequest< ::fuchsia::driver::development::CompositeInfoIterator> iterator)
Returns the list of composites in the system. This includes composites
that are not yet assembled and added into the node topology.
void GetDriverHostInfo (::fidl::InterfaceRequest< ::fuchsia::driver::development::DriverHostInfoIterator> iterator)
Returns a list of all driver hosts that are known to the system.
void RestartDriverHosts (::std::stringdriver_url,::fuchsia::driver::development::RestartRematchFlagsrematch_flags,RestartDriverHostsCallbackcallback)
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 (::std::stringdriver_url,::fidl::StringPtrpackage_hash,DisableDriverCallbackcallback)
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 (::std::stringdriver_url,::fidl::StringPtrpackage_hash,EnableDriverCallbackcallback)
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 (BindAllUnboundNodesCallback callback)
Attempts to bind all unbound nodes in the topology.
Returns new successful binds.
void BindAllUnboundNodes2 (BindAllUnboundNodes2Callback callback)
Attempts to bind all unbound nodes in the topology.
Returns new successful binds.
void AddTestNode (::fuchsia::driver::development::TestNodeAddArgs args, AddTestNodeCallback callback)
Adds test node under the root node.
void RemoveTestNode (::std::string name, RemoveTestNodeCallback callback)
Removes the test node. The node is removed asynchronously and is
not guaranteed to be removed by the time this returns.
void WaitForBootup (WaitForBootupCallback callback)
Waits for bootup to complete.
void RestartWithDictionary (::std::stringmoniker,::fuchsia::component::sandbox::DictionaryRefdictionary,RestartWithDictionaryCallbackcallback)
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 RestartWithDictionaryAndPowerDependencies (::std::stringmoniker,::fuchsia::component::sandbox::DictionaryRefdictionary,::std::vector< ::fuchsia::power::broker::LevelDependency>power_dependencies,::zx::eventcpu_token_override,RestartWithDictionaryAndPowerDependenciesCallbackcallback)
Restarts the driver components bound to the node identified by |moniker|,
providing it with the given dictionary and power dependencies.
All child nodes are also restarted and provided with the dictionary,
but only the node identified by |moniker| will be provided with the
power dependencies. An empty vector of power dependencies results in
the driver's power element having no dependencies other than a
dependency on CPU. The |cpu_token_override| will be used as the token
for making dependencies on the CPU power element. This override remains
in place for all restarted drivers until the fence is released.
The effects of this call are temporary and are reversed by releasing
the |release_fence| that is returned.
TODO(https://fxbug.dev/494673577) Consolidate this API with
`RestartWithDictionary`.
void RebindCompositesWithDriver (::std::string driver_url, RebindCompositesWithDriverCallback callback)
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.
Protected Methods
void handle_unknown_method (uint64_t ordinal, bool method_has_response)
Friends
class Manager_Stub