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

The admission entry point: open, preview, admit, extract, publish. More...

Go to the source code of this file.

Classes

struct  pulp::authoring_capsule::AdmissionOptions
struct  pulp::authoring_capsule::ExportItem
 One member of an export inventory. More...
struct  pulp::authoring_capsule::ExportRequest

Namespaces

namespace  pulp
namespace  pulp::authoring_capsule

Functions

runtime::Result< CapsulePreview, CapsuleError > pulp::authoring_capsule::preview_capsule (const CapsuleArchive &archive, const ProfileRegistry &registry, const AdmissionOptions &options)
 Steps 1-4 of the import state machine: bounded manifest read, structural and closure validation, optional trust envelope, and a non-executing preview.
runtime::Result< void, CapsuleError > pulp::authoring_capsule::admit_to_staging (const CapsuleArchive &archive, const CapsulePreview &preview, const ProfileRegistry &registry, const StagingArea &staging, const ExtractionProgress &progress={})
 Steps 6-7: extract only declared members into staging, verifying digests, then run the profile's semantic validation.
runtime::Result< std::uint64_t, CapsuleError > pulp::authoring_capsule::export_capsule (ExportRequest request, const std::filesystem::path &destination, const CapsuleLimits &limits=kCapsuleLimitsV1)
 Fill in the closure — sorted files, digests, sizes, and revision_id — and write one deterministic archive to a destination that must not exist.

Detailed Description

The admission entry point: open, preview, admit, extract, publish.

The order is the point. Nothing is extracted before the manifest is validated, nothing is validated semantically before it is extracted into a private directory, and nothing is compiled before a person has agreed to it.