Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
manifest.hpp File Reference

The capsule envelope: the only authority for what a capsule is. More...

#include <pulp/authoring_capsule/component.hpp>
#include <pulp/authoring_capsule/limits.hpp>
#include <pulp/authoring_capsule/status.hpp>
#include <pulp/runtime/result.hpp>
#include <cstdint>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::authoring_capsule::Compatibility
 Version floors the consuming runtime must satisfy. More...
struct  pulp::authoring_capsule::Manifest

Namespaces

namespace  pulp
namespace  pulp::authoring_capsule

Enumerations

enum class  pulp::authoring_capsule::Reproducibility : std::uint8_t { pulp::authoring_capsule::reproducible , pulp::authoring_capsule::best_effort , pulp::authoring_capsule::frozen_output_only }

Functions

runtime::Result< std::string, CapsuleError > pulp::authoring_capsule::to_canonical_json (const Manifest &manifest)
 Serialize to canonical JSON: UTF-8 without BOM, LF, keys sorted by code point, no insignificant whitespace, shortest round-tripping numbers, no NaN or infinity, files sorted by path and dependencies by id in byte order.
runtime::Result< Manifest, CapsuleError > pulp::authoring_capsule::parse_manifest (std::string_view json)
 Parse and structurally validate.
runtime::Result< std::string, CapsuleError > pulp::authoring_capsule::revision_digest (const Manifest &manifest)
 sha256 over the canonical JSON of the whole manifest with exactly three fields removed: revision_id (self-referential), exported_at (the one value that changes when nothing else did), and attestations (signatures are computed over this digest).
Completeness pulp::authoring_capsule::derive_completeness (const Manifest &manifest)
 Recomputed from the component rows.

Variables

constexpr std::string_view pulp::authoring_capsule::kFormatId = "org.pulp.audio-authoring-capsule"
 The vendor-neutral format identifier. Constant for format version 1.
constexpr std::uint32_t pulp::authoring_capsule::kFormatVersion = 1

Detailed Description

The capsule envelope: the only authority for what a capsule is.

The file extension, the marketplace category, the title, and the tags are descriptive. Routing reads profile, profile_version, product, authoring_kind, topology, and required_capabilities — nothing else.