class DriverRunner
Defined at line 60 of file ../../src/devices/bin/driver_manager/driver_runner.h
Public Methods
void ShutdownAllDrivers (fit::callback<void ()> callback)
NodeManager interface
Shutdown hooks called by the shutdown manager
Defined at line 154 of file ../../src/devices/bin/driver_manager/driver_runner.h
void ShutdownPkgDrivers (fit::callback<void ()> callback)
Defined at line 161 of file ../../src/devices/bin/driver_manager/driver_runner.h
void SetOnRemovalTimeoutCallback (fit::callback<void ()> callback)
Defined at line 167 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool IsTestShutdownDelayEnabled ()
Defined at line 179 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::weak_ptr<std::mt19937> GetShutdownTestRng ()
Defined at line 180 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool SuspendEnabled ()
Defined at line 225 of file ../../src/devices/bin/driver_manager/driver_runner.h
fidl::WireClient<fuchsia_driver_index::DriverIndex> & driver_index ()
Defined at line 230 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::shared_ptr<Node> root_node ()
Defined at line 232 of file ../../src/devices/bin/driver_manager/driver_runner.h
PowerManager * power_manager ()
Defined at line 234 of file ../../src/devices/bin/driver_manager/driver_runner.h
void BootupDoneForTesting ()
Only exposed for testing.
Defined at line 237 of file ../../src/devices/bin/driver_manager/driver_runner.h
CompositeNodeSpecManager & composite_node_spec_manager ()
Defined at line 238 of file ../../src/devices/bin/driver_manager/driver_runner.h
const BindManager & bind_manager ()
Defined at line 239 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::Runner & runner_for_tests ()
Defined at line 240 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::DriverHostRunner * driver_host_runner_for_tests ()
Defined at line 242 of file ../../src/devices/bin/driver_manager/driver_runner.h
const fbl::DoublyLinkedList<std::unique_ptr<DriverHostComponent>> & driver_hosts ()
Defined at line 247 of file ../../src/devices/bin/driver_manager/driver_runner.h
void DriverRunner (fidl::ClientEnd<fuchsia_component::Realm>realm,fidl::ClientEnd<fuchsia_component::Introspector>introspector,fidl::ClientEnd<fuchsia_component_sandbox::CapabilityStore>capability_store,fidl::ClientEnd<fuchsia_driver_index::DriverIndex>driver_index,inspect::ComponentInspector &inspect,LoaderServiceFactoryloader_service_factory,async_dispatcher_t *dispatcher,boolenable_test_shutdown_delays,OfferInjectoroffer_injector,fidl::ClientEnd<fuchsia_power_broker::Topology>topology_client,std::optional<DynamicLinkerArgs>dynamic_linker_args,std::optional<fidl::ClientEnd<fuchsia_power_system::CpuElementManager>>cpu_element_mgr,boolwait_for_storage_token,std::optional<fidl::ClientEnd<fuchsia_hardware_power_statecontrol::Admin>>statecontrol_admin)
|Dynamic_linker_args| should be set if dynamic linking is available.
Defined at line 374 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddSpec (AddSpecRequestView request, AddSpecCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_framework::CompositeNodeManager> interface
Defined at line 538 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddNode (AddNodeRequestView request, AddNodeCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_framework::NodeManager> interface
Defined at line 1619 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_driver_framework::NodeManager> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 1642 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void NewDriverAvailable (NewDriverAvailableCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_index::DriverNotifier>
Defined at line 789 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void FindDriverCrash (FindDriverCrashRequestView request, FindDriverCrashCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_crash::CrashIntrospect>
Defined at line 569 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_driver_framework::CompositeNodeManager> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 622 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void Get (GetRequest & request, GetCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_token::NodeBusTopology>
Defined at line 639 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_driver_token::NodeBusTopology> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 671 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void LogStackTrace (LogStackTraceRequestView request, LogStackTraceCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_token::Debug>
Defined at line 442 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void GetHostKoid (GetHostKoidRequestView request, GetHostKoidCompleter::Sync & completer)
Defined at line 481 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_driver_token::Debug> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 530 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void BindNodesForCompositeNodeSpec ()
CompositeManagerBridge interface
Defined at line 536 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddSpecToDriverIndex (fuchsia_driver_framework::wire::CompositeNodeSpec group, AddToIndexCallback callback)
Defined at line 688 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<> StartDriver (Node &node,std::string_viewurl,fuchsia_driver_framework::DriverPackageTypepackage_type)
NodeManager interface
Create a driver component with `url` against a given `node`.
Defined at line 798 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void WaitForBootup (fit::callback<void ()> callback)
NodeManager interface
Waits for boot to complete before invoking the callback.
Defined at line 736 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void LeaseAllDriversForShutdown (fit::callback<void ()> callback)
Defined at line 1648 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RebindComposite (std::stringspec,std::optional<std::string>driver_url,fit::callback<void (zx::result<>)>callback)
Defined at line 855 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RebindCompositesWithDriver (const std::string & url, fit::callback<void (size_t)> complete_callback)
Defined at line 862 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void PublishComponentRunner (component::OutgoingDirectory & outgoing)
Defined at line 740 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<> StartRootDriver (std::string_view url)
Defined at line 769 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void StartDevfsDriver (std::shared_ptr<driver_manager::Devfs> & devfs)
Register a proxy driver called 'Devfs-Driver' that will advertise services that correspond
to the protocols offered by devfs class paths. This call will start the driver
registration, but that registration will not be complete until the component framework
calls the AddChild callback. That callback will then update |devfs| with an outgoing
directory and a ComponentController. This function should only be called once when the
driver manager is starting, and will no longer be needed when devfs migration is complete.
Defined at line 779 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void TryBindAllAvailable (NodeBindingInfoResultCallback result_callback)
Goes through the orphan list and attempts the bind them again. Sends nodes that are still
orphaned back to the orphan list. Tracks the result of the bindings and then when finished
uses the result_callback to report the results.
Defined at line 794 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<uint32_t> RestartNodesColocatedWithDriverUrl (std::string_view url, fuchsia_driver_development::RestartRematchFlags rematch_flags)
Restarts all the nodes that are colocated with a driver with the given |url|.
Defined at line 1249 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RestartWithDictionary (fidl::StringViewmoniker,fuchsia_component_sandbox::wire::DictionaryRefdictionary,zx::eventpairreset_eventpair)
Defined at line 1398 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RestartWithDictionaryAndPowerDependencies (std::stringmoniker,fuchsia_component_sandbox::DictionaryRefdictionary,std::vector<fuchsia_power_broker::LevelDependency>power_dependencies,std::optional<zx::event>cpu_token_override,std::vector<fuchsia_driver_development::NodePowerTokenOverride>node_power_token_overrides,zx::eventpairrelease_fence)
Restarts driver components bound to the node identified by |moniker|, providing
custom power dependencies, CPU token override, and targeted child node power token overrides.
Releasing |release_fence| reverts all temporary overrides and restarts the drivers again.
Defined at line 1458 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::unordered_set<DriverHost *> DriverHostsWithDriverUrl (std::string_view url)
Defined at line 1575 of file ../../src/devices/bin/driver_manager/driver_runner.cc
fpromise::promise<inspect::Inspector> Inspect ()
Defined at line 708 of file ../../src/devices/bin/driver_manager/driver_runner.cc
fpromise::promise<inspect::Inspector> InspectHealthChecks ()
Defined at line 1656 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::vector<fuchsia_driver_development::wire::CompositeNodeInfo> GetCompositeListInfo (fidl::AnyArena & arena)
Defined at line 726 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::optional<fuchsia_power_broker::DependencyToken> StorageElementToken ()
Defined at line 1062 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RebootSystem ()
Defined at line 1591 of file ../../src/devices/bin/driver_manager/driver_runner.cc