Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
capabilities.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <optional>
5#include <span>
6#include <string_view>
7
8namespace pulp::inspect {
9
10enum class InspectorCapability : std::uint8_t {
11#define PULP_INSPECT_CAPABILITY( \
12 symbol, legacy_id, contract_id, risk, side_effect, executor, evidence, \
13 observe, develop, grantable, publication_bound) symbol,
15#undef PULP_INSPECT_CAPABILITY
16};
17
18enum class InspectorMethodKind : std::uint8_t {
21};
23enum class InspectorCapabilityRisk : std::uint8_t {
32};
34enum class InspectorProfile : std::uint8_t {
39};
56
64
65enum class InspectorEvidence : std::uint8_t {
70};
71
77
101
102std::span<const InspectorCapabilityDescriptor> inspector_capability_registry();
103std::string_view capability_id(InspectorCapability capability);
104std::string_view capability_contract_id(InspectorCapability capability);
105std::optional<InspectorCapability> capability_from_id(std::string_view id);
106std::optional<InspectorCapability> capability_from_contract_id(std::string_view id);
107
109std::string_view side_effect_id(InspectorSideEffect side_effect);
110std::string_view executor_id(InspectorExecutor executor);
111std::string_view evidence_id(InspectorEvidence evidence);
112
113std::string_view profile_id(InspectorProfile profile);
114std::optional<InspectorProfile> profile_from_id(std::string_view id);
115std::span<const InspectorCapability> profile_capabilities(InspectorProfile profile);
116
117std::span<const InspectorMethodDescriptor> inspector_method_registry();
118const InspectorMethodDescriptor* find_inspector_method(std::string_view method);
123 InspectorCapability capability);
124bool inspector_event_is_lossy(std::string_view method);
125
126} // namespace pulp::inspect
Host-injected arbitrary-execution boundary.
Definition runtime_evaluator.hpp:41
@ None
Definition font_options.hpp:73
Definition agent_context.hpp:7
std::span< const InspectorCapabilityDescriptor > inspector_capability_registry()
InspectorCapabilityRisk capability_risk(InspectorCapability capability)
InspectorProfile
Definition capabilities.hpp:34
@ Develop
Definition capabilities.hpp:37
InspectorCapability
Definition capabilities.hpp:10
@ Unavailable
Definition capabilities.hpp:47
@ ArtifactRead
Definition capabilities.hpp:38
@ TestInput
Definition capabilities.hpp:33
bool capability_requires_controller_lease(InspectorCapability capability)
const InspectorMethodDescriptor * find_inspector_method(std::string_view method)
std::span< const InspectorCapability > profile_capabilities(InspectorProfile profile)
std::optional< InspectorCapability > capability_from_id(std::string_view id)
std::string_view evidence_id(InspectorEvidence evidence)
std::string_view executor_id(InspectorExecutor executor)
std::span< const InspectorMethodDescriptor > inspector_method_registry()
InspectorCapabilityRisk
Definition capabilities.hpp:23
@ StreamingSensitive
Definition capabilities.hpp:26
@ ResourceConsuming
Definition capabilities.hpp:27
@ Critical
Definition capabilities.hpp:30
@ Observe
Definition capabilities.hpp:24
@ HighRisk
Definition capabilities.hpp:29
@ Sensitive
Definition capabilities.hpp:25
std::string_view profile_id(InspectorProfile profile)
bool capability_requires_publication_binding(InspectorCapability capability)
std::string_view capability_contract_id(InspectorCapability capability)
bool inspector_event_is_lossy(std::string_view method)
std::string_view capability_id(InspectorCapability capability)
std::string_view side_effect_id(InspectorSideEffect side_effect)
InspectorExecutor
Definition capabilities.hpp:57
@ Protocol
Definition capabilities.hpp:58
@ Background
Definition capabilities.hpp:60
@ HostMain
Definition capabilities.hpp:59
@ OfflineJob
Definition capabilities.hpp:62
InspectorMethodKind
Definition capabilities.hpp:18
@ Request
Definition capabilities.hpp:19
@ Event
Definition capabilities.hpp:20
bool capability_is_grantable(InspectorCapability capability)
std::optional< InspectorCapability > capability_from_contract_id(std::string_view id)
std::string_view capability_risk_id(InspectorCapabilityRisk risk)
InspectorEvidence
Definition capabilities.hpp:65
@ Artifact
Definition capabilities.hpp:68
@ Response
Definition capabilities.hpp:66
@ Receipt
Definition capabilities.hpp:67
@ Stream
Definition capabilities.hpp:69
InspectorSideEffect
Definition capabilities.hpp:41
@ Input
Definition capabilities.hpp:52
@ Authoring
Definition capabilities.hpp:48
@ Capture
Definition capabilities.hpp:45
@ State
Definition capabilities.hpp:44
@ Reload
Definition capabilities.hpp:53
@ Render
Definition capabilities.hpp:51
@ Session
Definition capabilities.hpp:43
@ Telemetry
Definition capabilities.hpp:49
@ Evaluation
Definition capabilities.hpp:50
@ Trace
Definition capabilities.hpp:46
std::optional< InspectorProfile > profile_from_id(std::string_view id)
@ Control
Definition modulation_lane.hpp:20
@ Custom
Definition toolbar.hpp:20
@ Off
Skip animation; jump to the target value.
Definition motion_preferences.hpp:31
Definition capabilities.hpp:78
std::string_view grant_scope
Definition capabilities.hpp:91
InspectorEvidence evidence
Definition capabilities.hpp:85
InspectorCapability capability
Definition capabilities.hpp:79
std::string_view cancellation
Definition capabilities.hpp:92
std::string_view compatibility
Definition capabilities.hpp:94
bool grantable
Definition capabilities.hpp:98
bool publication_bound
Definition capabilities.hpp:99
std::string_view runtime_contexts
Definition capabilities.hpp:87
bool in_develop_profile
Definition capabilities.hpp:97
std::string_view policy_predicates
Definition capabilities.hpp:90
std::string_view host_tiers
Definition capabilities.hpp:88
std::string_view timeout
Definition capabilities.hpp:93
InspectorCapabilityRisk risk
Definition capabilities.hpp:82
std::string_view contract_id
Definition capabilities.hpp:81
std::string_view activation
Definition capabilities.hpp:89
InspectorExecutor executor
Definition capabilities.hpp:84
std::string_view deprecation
Definition capabilities.hpp:95
bool in_observe_profile
Definition capabilities.hpp:96
std::string_view id
Definition capabilities.hpp:80
InspectorSideEffect side_effect
Definition capabilities.hpp:83
std::string_view required_build_feature
Definition capabilities.hpp:86
Definition capabilities.hpp:72
InspectorCapability capability
Definition capabilities.hpp:74
InspectorMethodKind kind
Definition capabilities.hpp:75
std::string_view method
Definition capabilities.hpp:73