template <>
class WireWeakSyncClientImpl
Defined at line 11296 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/wire_messaging.h
Public Methods
::fidl::WireResult< ::fuchsia_paver::BootManager::QueryCurrentConfiguration> QueryCurrentConfiguration ()
Queries the configuration the system is currently running.
Returns `ZX_ERR_NOT_SUPPORTED` if the `zvb.current_slot` boot argument cannot be read
or is an unexpected value.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::QueryActiveConfiguration> QueryActiveConfiguration ()
Queries the configuration which will be used as the default boot choice on a normal cold
boot, which may differ from the currently running configuration. `Configuration::RECOVERY`
should never be active.
Returns `ZX_ERR_NOT_SUPPORTED` if `Configuration.RECOVERY` is active.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::QueryConfigurationLastSetActive> QueryConfigurationLastSetActive ()
Queries the configuration that was last explicitly marked as active by
SetConfigurationActive(). The result is not affected by the current status of the slot.
A newly updated slot is typically marked as active immediately. Therefore this interface
can be used as a way to identify the newest slot.
Returns `ZX_ERR_IO` if fail to load abr metadata. Returns `ZX_ERR_INTERNAL` if invalid
slot index is returned by libabr routine.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::QueryConfigurationStatus> QueryConfigurationStatus (::fuchsia_paver::wire::Configuration configuration)
Queries status of `configuration`.
Returns `ZX_ERR_INVALID_ARGS` if `Configuration.RECOVERY` is passed in via `configuration`.
Allocates 56 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::QueryConfigurationStatusAndBootAttempts> QueryConfigurationStatusAndBootAttempts (::fuchsia_paver::wire::Configuration configuration)
Queries status of `configuration`.
The returned table contains:
* `status`: the current `ConfigurationStatus`
* `boot_attempts`: if `status` is `ConfigurationStatus::PENDING`, this will be the number of
times this configuration has attempted to boot, including the current attempt. For any
other `status` this value will not be provided.
If provided, this value will be in the range `[0, MAX_PENDING_BOOT_ATTEMPTS]`. 0 indicates
the configuration was just set active and has not attempted any boots yet, and
`MAX_PENDING_BOOT_ATTEMPTS` indicates that all attempts have been used.
* `unbootable_reason`: if `status` is `ConfigurationStatus::UNBOOTABLE`, this will be the
reported reason for why the configuration is unbootable. For any other `status` this value
will not be provided.
Returns `ZX_ERR_INVALID_ARGS` if `Configuration.RECOVERY` is passed in via `configuration`.
Allocates 24 bytes of request buffer on the stack. Response is heap-allocated.
::fidl::WireResult< ::fuchsia_paver::BootManager::SetConfigurationActive> SetConfigurationActive (::fuchsia_paver::wire::Configuration configuration)
Updates persistent metadata identifying which configuration should be selected as 'primary'
for booting purposes. Should only be called after `KERNEL` as well as optional
`VERIFIED_BOOT_METADATA` assets for specified `configuration` were written successfully.
Also resets the boot attempts count for the given `Configuration`.
Returns `ZX_ERR_INVALID_ARGS` if `Configuration.RECOVERY` is passed in via `configuration`.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::SetConfigurationUnbootable> SetConfigurationUnbootable (::fuchsia_paver::wire::Configuration configuration)
Updates persistent metadata identifying whether `configuration` is bootable.
Should only be called in the following situations:
* Before `KERNEL` as well as optional `VERIFIED_BOOT_METADATA` assets for specified
`configuration` are written.
* After successfully booting from a new configuration and marking it healthy. This method
would be then called on the old configuration.
* After "successfully" booting from a new configuration, but encountering an unrecoverable
error during health check. This method would be then called on the new configuration.
If the configuration is unbootable, no action is taken.
Returns `ZX_ERR_INVALID_ARGS` if `Configuration.RECOVERY` is passed in via `configuration`.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::SetConfigurationHealthy> SetConfigurationHealthy (::fuchsia_paver::wire::Configuration configuration)
Updates persistent metadata to mark a [`fuchsia.paver/Configuration`]
as successful.
This function is typically used by the OS update system after having
confirmed that the configuration works as intended and the "rollback to
previous slot" logic is not needed anymore.
Compatibility between the newly successful configuration and the other
configuration is unknown. Even if the other configuration was
successful at one point, it may no longer be. This function adds a
success mark to the given configuration but also removes any success
mark on the other.
If `configuration` is unbootable or is
[`fuchsia.paver/Configuration.RECOVERY`], `response` will be
`ZX_ERR_INVALID_ARGS`.
+ request `configuration` the `Configuration` to mark as healthy. Must
not be `RECOVERY`.
- response `status` a zx_status value indicating success or failure.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::SetOneShotRecovery> SetOneShotRecovery ()
Force device to boot to recovery in the next reboot/power cycle. This will only be
triggered once and will be reset after the reboot. State of A/B configuration slot will not
be affected.
Allocates 48 bytes of message buffer on the stack. No heap allocation necessary.
::fidl::WireResult< ::fuchsia_paver::BootManager::Flush> Flush ()
Flush all previously buffered writes to persistent storage.
Allocates 40 bytes of message buffer on the stack. No heap allocation necessary.