class DriverRunner
Defined at line 53 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 144 of file ../../src/devices/bin/driver_manager/driver_runner.h
void ShutdownPkgDrivers (fit::callback<void ()> callback)
Defined at line 151 of file ../../src/devices/bin/driver_manager/driver_runner.h
void SetOnRemovalTimeoutCallback (fit::callback<void ()> callback)
Defined at line 157 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool IsTestShutdownDelayEnabled ()
Defined at line 167 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::weak_ptr<std::mt19937> GetShutdownTestRng ()
Defined at line 168 of file ../../src/devices/bin/driver_manager/driver_runner.h
bool SuspendEnabled ()
Defined at line 202 of file ../../src/devices/bin/driver_manager/driver_runner.h
fidl::WireClient<fuchsia_driver_index::DriverIndex> & driver_index ()
Defined at line 207 of file ../../src/devices/bin/driver_manager/driver_runner.h
std::shared_ptr<Node> root_node ()
Defined at line 209 of file ../../src/devices/bin/driver_manager/driver_runner.h
void BootupDoneForTesting ()
Only exposed for testing.
Defined at line 212 of file ../../src/devices/bin/driver_manager/driver_runner.h
CompositeNodeSpecManager & composite_node_spec_manager ()
Defined at line 213 of file ../../src/devices/bin/driver_manager/driver_runner.h
const BindManager & bind_manager ()
Defined at line 214 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::Runner & runner_for_tests ()
Defined at line 215 of file ../../src/devices/bin/driver_manager/driver_runner.h
driver_manager::DriverHostRunner * driver_host_runner_for_tests ()
Defined at line 217 of file ../../src/devices/bin/driver_manager/driver_runner.h
const fbl::DoublyLinkedList<std::unique_ptr<DriverHostComponent>> & driver_hosts ()
Defined at line 222 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, LoaderServiceFactory loader_service_factory, async_dispatcher_t * dispatcher, bool enable_test_shutdown_delays, OfferInjector offer_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, bool wait_for_storage_token)
|Dynamic_linker_args| should be set if dynamic linking is available.
Defined at line 252 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 449 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void NewDriverAvailable (NewDriverAvailableCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_driver_index::DriverNotifier>
Defined at line 836 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 511 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 564 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 581 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 613 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void SetLevel (SetLevelRequestView request, SetLevelCompleter::Sync & completer)
Defined at line 423 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 430 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void GetCpuDependencyToken (GetCpuDependencyTokenCompleter::Sync & completer)
Defined at line 690 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddExecutionStateDependency (AddExecutionStateDependencyRequestView request, AddExecutionStateDependencyCompleter::Sync & completer)
Defined at line 738 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 788 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void BindNodesForCompositeNodeSpec ()
CompositeManagerBridge interface
Defined at line 447 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddSpecToDriverIndex (fuchsia_driver_framework::wire::CompositeNodeSpec group, AddToIndexCallback callback)
Defined at line 630 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<> StartDriver (Node & node, std::string_view url, fuchsia_driver_framework::DriverPackageType package_type)
NodeManager interface
Create a driver component with `url` against a given `node`.
Defined at line 844 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 680 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RebindComposite (std::string spec, std::optional<std::string> driver_url, fit::callback<void (zx::result<>)> callback)
Defined at line 898 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 903 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void PublishComponentRunner (component::OutgoingDirectory & outgoing)
Defined at line 792 of file ../../src/devices/bin/driver_manager/driver_runner.cc
zx::result<> StartRootDriver (std::string_view url)
Defined at line 817 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 826 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 840 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 1284 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void RestartWithDictionary (fidl::StringView moniker, fuchsia_component_sandbox::wire::DictionaryRef dictionary, zx::eventpair reset_eventpair)
Defined at line 1330 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::unordered_set<const DriverHost *> DriverHostsWithDriverUrl (std::string_view url)
Defined at line 1384 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 651 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::vector<fuchsia_driver_development::wire::CompositeNodeInfo> GetCompositeListInfo (fidl::AnyArena & arena)
Defined at line 670 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void AddLeaseControlChannel (fidl::ClientEnd<fuchsia_power_broker::LeaseControl> lease)
Defined at line 887 of file ../../src/devices/bin/driver_manager/driver_runner.cc
std::optional<fuchsia_power_broker::DependencyToken> StorageElementToken ()
Defined at line 1185 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void CreateStoragePowerElement (fuchsia_power_broker::DependencyToken driver_token, fuchsia_power_broker::PowerLevel power_level, fit::callback<void ()> post_creation)
Defined at line 317 of file ../../src/devices/bin/driver_manager/driver_runner.cc
void PublishCpuElementManager (component::OutgoingDirectory & outgoing)
Defined at line 684 of file ../../src/devices/bin/driver_manager/driver_runner.cc