Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
plugin_identity.hpp File Reference
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::host::PluginTypeIdentity
 CLAP-only type identity. Exact UTF-8 bytes; no name, path or normalization. More...
struct  pulp::host::PluginArtifactProvenance
 Executable-byte observation, not a portable release identity or signature. More...
class  pulp::host::detail::ClapIdentityAccess
class  pulp::host::PluginIdentityEvidence
 Immutable owned evidence. More...
struct  pulp::host::CanonicalPluginIdentity
struct  pulp::host::PluginSelection
struct  pulp::host::PluginResolvedIdentity

Namespaces

namespace  pulp
namespace  pulp::host
 Bounded event contracts shared by host ingress and graph-authored nodes.
namespace  pulp::host::detail

Enumerations

enum class  pulp::host::PluginIdentityError {
  pulp::host::unsupported_format , pulp::host::native_identity_missing , pulp::host::invalid_native_identity , pulp::host::identity_origin_unverified ,
  pulp::host::descriptor_selection_missing , pulp::host::descriptor_selection_ambiguous , pulp::host::descriptor_enumeration_incomplete , pulp::host::plugin_load_failed ,
  pulp::host::loaded_identity_mismatch
}
enum class  pulp::host::PluginIdentityOrigin { pulp::host::authored_assertion , pulp::host::clap_descriptor }
enum class  pulp::host::PluginIdentityVerification { pulp::host::declared , pulp::host::loaded }

Functions

std::vector< PluginInfo > pulp::host::scan_clap_bundle_descriptors (const std::string &path)
PluginLoadResult pulp::host::load_clap_plugin_exact (const PluginSelection &selection)
std::optional< PluginIdentityError > pulp::host::validate_plugin_type_identity (const PluginTypeIdentity &)
 Pure validation: nonempty, bounded UTF-8 without NUL or Unicode controls.
std::variant< CanonicalPluginIdentity, PluginIdentityError > pulp::host::canonical_plugin_identity (const PluginIdentityEvidence &)
 Encodes only type identity; preserves evidence without increasing its trust.
std::string pulp::host::serialize_plugin_identity_evidence (const PluginIdentityEvidence &)
 Unsigned serialized captures always import as declared, even if originally loaded.
std::optional< PluginIdentityEvidence > pulp::host::parse_plugin_identity_evidence (std::string_view)