class DriverRunner
Defined at line 57 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 158 of file ../../src/devices/bin/driver_manager/driver_runner.h
void ShutdownPkgDrivers (fit::callback<void ()> callback)
Defined at line 165 of file ../../src/devices/bin/driver_manager/driver_runner.h
void SetOnRemovalTimeoutCallback (fit::callback<void ()> callback)
Defined at line 171 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool IsTestShutdownDelayEnabled ()
Defined at line 181 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::weak_ptr<std::mt19937> GetShutdownTestRng ()
Defined at line 182 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool SuspendEnabled ()
Defined at line 221 of file ../../src/devices/bin/driver_manager/driver_runner.h
fidl::WireClient<fuchsia_driver_index::DriverIndex> & driver_index ()
Defined at line 226 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::shared_ptr<Node> root_node ()
Defined at line 228 of file ../../src/devices/bin/driver_manager/driver_runner.h
fidl::Client<fuchsia_power_broker::Topology> & power_topology ()
Defined at line 230 of file ../../src/devices/bin/driver_manager/driver_runner.h
void BootupDoneForTesting ()
Only exposed for testing.
Defined at line 233 of file ../../src/devices/bin/driver_manager/driver_runner.h
CompositeNodeSpecManager & composite_node_spec_manager ()
Defined at line 234 of file ../../src/devices/bin/driver_manager/driver_runner.h
const BindManager & bind_manager ()
Defined at line 235 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::Runner & runner_for_tests ()
Defined at line 236 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::DriverHostRunner * driver_host_runner_for_tests ()
Defined at line 238 of file ../../src/devices/bin/driver_manager/driver_runner.h
const fbl::DoublyLinkedList<std::unique_ptr<DriverHostComponent>> & driver_hosts ()
Defined at line 243 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 294 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 692 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void NewDriverAvailable (NewDriverAvailableCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_index::DriverNotifier>
Defined at line 1042 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 754 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 807 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 824 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 856 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void SetLevel (SetLevelRequestView request, SetLevelCompleter::Sync & completer)
Defined at line 666 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_power_broker::ElementRunner> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 673 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void GetCpuDependencyToken (GetCpuDependencyTokenCompleter::Sync & completer)
Defined at line 933 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddExecutionStateDependency (AddExecutionStateDependencyRequestView request, AddExecutionStateDependencyCompleter::Sync & completer)
Defined at line 974 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_power_system::CpuElementManager> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 993 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 456 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void GetHostKoid (GetHostKoidRequestView request, GetHostKoidCompleter::Sync & completer)
Defined at line 495 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 544 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void BindNodesForCompositeNodeSpec ()
CompositeManagerBridge interface
Defined at line 690 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddSpecToDriverIndex (fuchsia_driver_framework::wire::CompositeNodeSpec group, AddToIndexCallback callback)
Defined at line 873 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 1050 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 923 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 1099 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 1106 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void PublishComponentRunner (component::OutgoingDirectory & outgoing)
Defined at line 997 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<> StartRootDriver (std::string_view url)
Defined at line 1022 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 1032 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 1046 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 1611 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 1695 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,zx::eventpairrelease_fence)
Defined at line 1755 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::unordered_set<DriverHost *> DriverHostsWithDriverUrl (std::string_view url)
Defined at line 1855 of file ../../src/devices/bin/driver_manager/driver_runner.cc
fpromise::promise<inspect::Inspector> Inspect ()
TODO(https://fxbug.dev/42072971): Add information for composite node specs.
Defined at line 894 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::vector<fuchsia_driver_development::wire::CompositeNodeInfo> GetCompositeListInfo (fidl::AnyArena & arena)
Defined at line 913 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::optional<fuchsia_power_broker::DependencyToken> StorageElementToken ()
Defined at line 1469 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RebootSystem ()
Defined at line 1871 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void CreateStoragePowerElement (fuchsia_power_broker::DependencyTokendriver_token,fuchsia_power_broker::PowerLevelpower_level,fit::callback<void ()>post_creation)
Defined at line 366 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void PublishCpuElementManager (component::OutgoingDirectory & outgoing)
Defined at line 927 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void FetchCpuToken ()
Asynchronously kicks off the process of fetching the Cpu token from SAG. The token is used to
make drivers' power elements depend on the Cpu element and allow them to prevent system
suspension.
Defined at line 1279 of file ../../src/devices/bin/driver_manager/driver_runner.cc