The admission entry point: open, preview, admit, extract, publish. More...
#include <pulp/authoring_capsule/archive.hpp>#include <pulp/authoring_capsule/limits.hpp>#include <pulp/authoring_capsule/manifest.hpp>#include <pulp/authoring_capsule/preview.hpp>#include <pulp/authoring_capsule/profile_registry.hpp>#include <pulp/authoring_capsule/signature.hpp>#include <pulp/authoring_capsule/staging.hpp>#include <pulp/authoring_capsule/status.hpp>#include <pulp/runtime/result.hpp>#include <filesystem>#include <optional>#include <string>#include <vector>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 ®istry, 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 ®istry, 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. | |
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.