template <>

class WireSyncBufferClientImpl

Defined at line 8242 of file fidling/gen/sdk/fidl/fuchsia.paver/fuchsia.paver/cpp/fidl/fuchsia.paver/cpp/wire_messaging.h

Public Methods

::fidl::WireUnownedResult< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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`.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::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.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.

::fidl::WireUnownedResult< ::fuchsia_paver::BootManager::Flush> Flush ()

Flush all previously buffered writes to persistent storage.

Caller provides the backing storage for FIDL message via an argument to `.buffer()`.