Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pack_install.hpp File Reference
#include <pulp/format/reload/swap_pack.hpp>
#include <pulp/runtime/crypto.hpp>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <string>
#include <system_error>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::format::reload::PackInstallResult

Namespaces

namespace  pulp
namespace  pulp::format
 What the product grants a device: the quota table indexed by capability tier and live thermal state.
namespace  pulp::format::reload

Enumerations

enum class  pulp::format::reload::PackInstall {
  pulp::format::reload::Ok = 0 , pulp::format::reload::NotTrusted , pulp::format::reload::SymlinkRejected , pulp::format::reload::UnknownKind ,
  pulp::format::reload::IoError
}

Functions

std::string pulp::format::reload::swap_pack_content_id (const SwapPackManifest &m)
 The content id is the SHA-256 of the pack's signed message — every signed field (id, plugin, version, policy, per-file hash+kind) feeds it, so two byte-identical packs collide (dedup) and any change yields a new dir.
PackInstallResult pulp::format::reload::install_verified_pack (const std::filesystem::path &source_root, const SwapPackManifest &manifest, const std::vector< std::uint8_t > &trusted_public_key, const std::filesystem::path &install_base, bool reject_unknown_kinds=true)
 Verify source_root against trusted_public_key, then install the pack's files into install_base/<content-id>/ as read-only, rejecting symlinks and (for consumer packs) unknown kinds.