class PowerManager
Defined at line 30 of file ../../src/devices/bin/driver_manager/power/power_manager.h
Public Methods
void PowerManager (async_dispatcher_t *dispatcher,fidl::ClientEnd<fuchsia_power_broker::Topology>power_topology,std::optional<fidl::ClientEnd<fuchsia_power_system::CpuElementManager>>cpu_element_mgr,boolwait_for_storage_token)
Defined at line 50 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void FetchCpuToken ()
Starts the CPU token fetch process if CPU element manager is available.
Must be called after initialization.
Defined at line 65 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void PublishCpuElementManager (component::OutgoingDirectory & outgoing)
Binds the CPU element manager to the outgoing directory.
Defined at line 83 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
fidl::Client<fuchsia_power_broker::Topology> & power_topology ()
Defined at line 97 of file ../../src/devices/bin/driver_manager/power/power_manager.h
bool SuspendEnabled ()
Defined at line 98 of file ../../src/devices/bin/driver_manager/power/power_manager.h
void AddCpuExecutionStateDependency (fuchsia_power_broker::DependencyToken dependency_token, fuchsia_power_broker::PowerLevel power_level)
Registers the execution state dependency of all drivers with SAG.
Defined at line 329 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
std::optional<fuchsia_power_broker::DependencyToken> StorageElementToken ()
Get a duplicate of the storage element token.
Defined at line 235 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void CreateStoragePowerElement (fuchsia_power_broker::DependencyTokendriver_token,fuchsia_power_broker::PowerLevelpower_level,fit::callback<void ()>post_creation)
Creates the storage power element under the given topology.
Calls |post_creation| callback once the dependency token is registered.
Defined at line 89 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
std::optional<fuchsia_power_broker::DependencyToken> GetCpuToken (fit::callback<void ()> callback_if_not_available)
Checks if CPU token is available, or registers a callback.
Returns a duplicate of CPU token if available, std::nullopt otherwise.
Defined at line 176 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
std::optional<fuchsia_power_broker::DependencyToken> GetStorageToken (fit::callback<void ()> callback_if_not_available)
Checks if Storage token is available, or registers a callback.
Returns a duplicate of Storage token if available, std::nullopt otherwise.
Defined at line 191 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
std::optional<fuchsia_power_broker::DependencyToken> GetStorageTokenIfAvailable ()
Checks if Storage token is available.
Returns a duplicate of Storage token if available, std::nullopt otherwise.
Defined at line 207 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
fuchsia_power_broker::DependencyToken GetCpuTokenOrAssert ()
Get a copy of the CPU token (panics if not available).
Defined at line 218 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
fuchsia_power_broker::DependencyToken GetStorageTokenOrAssert ()
Get a copy of the Storage token (panics if not available).
Defined at line 226 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void OnBootupComplete (std::shared_ptr<Node> root_node)
Defined at line 349 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void OnNodeBound (std::shared_ptr<const Node> node)
Defined at line 367 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void CreateAllDriversPowerElement (std::shared_ptr<Node> root_node)
Defined at line 373 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void LeaseAllDrivers (const std::shared_ptr<Node> & root_node, fit::callback<void ()> callback)
Defined at line 590 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void CreatePowerElement (std::optional<fidl::ClientEnd<fuchsia_power_broker::Topology>>topology_client,std::string_viewname,fuchsia_power_broker::DependencyTokenelement_token,std::vector<fuchsia_power_broker::DependencyToken>deps,fidl::ServerEnd<fuchsia_power_broker::ElementControl>control,fidl::ClientEnd<fuchsia_power_broker::ElementRunner>runner,fidl::ServerEnd<fuchsia_power_broker::Lessor>lessor,Collectionfor_collection,std::optional<fuchsia_power_broker::DependencyToken>cpu_token_override,std::optional<zx::eventpair>initial_lease_token,boolis_hermetic_power_test,fit::callback<void (zx::result<bool>)>cb)
Defined at line 470 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void SetLevel (SetLevelRequestView request, SetLevelCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_power_broker::ElementRunner>
Defined at line 244 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_power_broker::ElementRunner> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 248 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void GetCpuDependencyToken (GetCpuDependencyTokenCompleter::Sync & completer)
fidl::WireServer
<fuchsia
_power_system::CpuElementManager>
Defined at line 265 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void AddExecutionStateDependency (AddExecutionStateDependencyRequestView request, AddExecutionStateDependencyCompleter::Sync & completer)
Defined at line 306 of file ../../src/devices/bin/driver_manager/power/power_manager.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_power_system::CpuElementManager> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 325 of file ../../src/devices/bin/driver_manager/power/power_manager.cc