Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
schema_registry.hpp File Reference
#include <pulp/runtime/result.hpp>
#include <pulp/timeline/schema_json.hpp>
#include <cstdint>
#include <memory>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::timeline::SchemaWriteSuccess
 Empty success value returned by bounded schema writers. More...
class  pulp::timeline::BoundedJsonSink
 Append-only JSON output sink with an enforced byte ceiling. More...
struct  pulp::timeline::FieldSchema
 Public field metadata for one registered schema type. More...
struct  pulp::timeline::SchemaCodec
 Immutable callback bundle and shared context for a registered type. More...
struct  pulp::timeline::MigrationStep
 One adjacent version transition for a schema type. More...
struct  pulp::timeline::TypeSchema
 Complete registration contract for one domain-qualified schema type. More...
struct  pulp::timeline::SchemaError
 Schema-registration failure with the affected type and version. More...
struct  pulp::timeline::SchemaRegistration
 Empty success value returned after registering a schema. More...
class  pulp::timeline::SchemaRegistry
 Immutable, shareable registry of Timeline schema contracts. More...
class  pulp::timeline::SchemaRegistryBuilder
 Mutable, single-owner accumulator for constructing a SchemaRegistry. More...

Namespaces

namespace  pulp
namespace  pulp::timeline

Typedefs

using pulp::timeline::SchemaDecodeFn
 Decodes schema data into an immutable type-erased value.
using pulp::timeline::SchemaEncodeFn
 Encodes a type-erased value into a quota-enforcing JSON sink.
using pulp::timeline::SchemaRetainedSizeFn
 Estimates bytes retained by a decoded type-erased value.
using pulp::timeline::SchemaMigrationFn
 Rewrites one exact schema envelope into a quota-enforcing sink.

Enumerations

enum class  pulp::timeline::SchemaDomain : std::uint8_t {
  pulp::timeline::SchemaDomain::Document , pulp::timeline::SchemaDomain::Content , pulp::timeline::SchemaDomain::AssetRepresentation , pulp::timeline::SchemaDomain::Command ,
  pulp::timeline::SchemaDomain::Diagnostic
}
 Namespace in which a schema type name is unique. More...
enum class  pulp::timeline::SchemaValueKind : std::uint8_t {
  pulp::timeline::SchemaValueKind::Boolean , pulp::timeline::SchemaValueKind::U32 , pulp::timeline::SchemaValueKind::I64String , pulp::timeline::SchemaValueKind::U64String ,
  pulp::timeline::SchemaValueKind::String , pulp::timeline::SchemaValueKind::Object , pulp::timeline::SchemaValueKind::Array
}
 JSON representation declared for a registered field. More...
enum class  pulp::timeline::SchemaErrorCode : std::uint8_t {
  pulp::timeline::SchemaErrorCode::InvalidIdentity , pulp::timeline::SchemaErrorCode::DuplicateType , pulp::timeline::SchemaErrorCode::DuplicateField , pulp::timeline::SchemaErrorCode::InvalidCodec ,
  pulp::timeline::SchemaErrorCode::InvalidMigration , pulp::timeline::SchemaErrorCode::DuplicateMigration
}
 Reason a TypeSchema cannot be registered. More...

Functions

runtime::Result< SchemaRegistration, SchemaError > pulp::timeline::register_builtin_timeline_schemas (SchemaRegistryBuilder &builder)
 Registers the built-in document, content, command, and diagnostic schemas.
runtime::Result< SchemaRegistry, SchemaError > pulp::timeline::make_builtin_timeline_registry ()
 Constructs a registry containing exactly the built-in Timeline schemas.