class Admin

Defined at line 4039 of file fidling/gen/sdk/fidl/fuchsia.hardware.power.statecontrol/fuchsia.hardware.power.statecontrol/hlcpp/fuchsia/hardware/power/statecontrol/cpp/fidl.h

Provides methods to request that the system be transitioned into a supported power state.

Note (see https://fxbug.dev/42136295):

These methods do not return until after the state transition has been completed. In most cases

(e.g. Reboot), a successful transition means that the caller does not actually observe the

completion because the system will be rebooted before the call is completed. The implication is

that using a synchronous FIDL client with these methods will result in a blocked thread for the

duration of the call, or even for the remainder of the component's life (in the case of Reboot).

Therefore, if a synchronous FIDL client is to be used with this protocol then care should be

taken to avoid handling any shutdown-induced callbacks on the same thread that was used to

initiate the transition. Example callbacks include [`fuchsia.process.lifecycle/Lifecycle.Stop`]

and [`fuchsia.hardware.power.statecontrol/RebootMethodsWatcher.OnReboot`].

Alternatively, the caller could choose to use an asynchronous FIDL client with this protocol to

avoid blocking their calling thread.

Public Members

static const char[] Name_

Public Methods

void ~Admin ()
void PowerFullyOn (PowerFullyOnCallback callback)

Asks the device to enter a fully on state.

void Shutdown (::fuchsia::hardware::power::statecontrol::ShutdownOptions options, ShutdownCallback callback)

Asks the device to enter the state specified by `options.action`.

Arguments:

- options: The options with which to perform this request.

`ZX_ERR_INVALID_ARGS` is returned if `action` is absent.

`reasons` may be omitted, but adding a new enum value

instead is strongly encouraged.

void PerformReboot (::fuchsia::hardware::power::statecontrol::RebootOptions options, PerformRebootCallback callback)

Asks the device to reboot.

Arguments:

- options: The options with which to perform this requests.

`ZX_ERR_INVALID_ARGS` is returned if the options are

malformed (i.e. `reasons` is absent or empty).

# Deprecation

Use Shutdown, which allows callers to specify the intended action and reasons for the

action.

void RebootToBootloader (RebootToBootloaderCallback callback)

Asks the device to reboot into the bootloader.

# Deprecation

Use Shutdown, which allows callers to specify reasons why they are requesting a reboot to

bootloader.

void RebootToRecovery (RebootToRecoveryCallback callback)

Asks the device to reboot into the recovery partition.

# Deprecation

Use Shutdown, which allows callers to specify reasons why they are requesting a reboot to

recovery.

void Poweroff (PoweroffCallback callback)

Asks all devices to enter a powered off state.

# Deprecation

Use Shutdown, which allows callers to specify reasons why they are requesting a poweroff.

void Mexec (::zx::vmo kernel_zbi, ::zx::vmo data_zbi, MexecCallback callback)

Performs a kernel mexec.

It is expected that the ZBI items specified by

`zx_system_mexec_payload_get()` have not yet been appended to the

provided data ZBI.

void SuspendToRam (SuspendToRamCallback callback)

Asks the device to enter the suspend to RAM (S3) power state. Currently only supported on

x64. If a system state transition is already in progress then ZX_ERR_ALREADY_EXISTS is

returned. If the device fails to reach the suspend power state then ZX_ERR_INTERNAL is

returned. If the device successfully suspends, ZX_OK is returned when the device resumes.