Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::state::StateMigrationRegistry Class Reference

Offline migration support for serialized StateStore payloads. More...

#include <state_migration.hpp>

Public Types

using MigrationFn

Public Member Functions

bool register_migration (uint32_t from_version, uint32_t to_version, MigrationFn migration)
bool has_migration_from (uint32_t from_version) const
std::optional< std::vector< uint8_t > > migrate (std::span< const uint8_t > source, uint32_t target_version) const

Detailed Description

Offline migration support for serialized StateStore payloads.

Migration callbacks run on load/save infrastructure, never on the audio thread. A callback receives the complete source blob and must write a complete destination blob, including any format header/footer checksums.

Member Typedef Documentation

◆ MigrationFn

Initial value:
std::function<bool(std::span<const uint8_t> source,
std::vector<uint8_t>& destination)>

Member Function Documentation

◆ has_migration_from()

bool pulp::state::StateMigrationRegistry::has_migration_from ( uint32_t from_version) const
nodiscard

◆ migrate()

std::optional< std::vector< uint8_t > > pulp::state::StateMigrationRegistry::migrate ( std::span< const uint8_t > source,
uint32_t target_version ) const
nodiscard

◆ register_migration()

bool pulp::state::StateMigrationRegistry::register_migration ( uint32_t from_version,
uint32_t to_version,
MigrationFn migration )

The documentation for this class was generated from the following file: