Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_installed_host.hpp
Go to the documentation of this file.
1#pragma once
2
9
10#include <chrono>
11#include <memory>
12
13namespace pulp::inspect {
14
15namespace detail {
16struct ControlInstalledHostTestAccess;
17}
18
19class MotionInspector;
20class MotionScrubber;
21
23 std::shared_ptr<InspectorCaptureSource> capture_source;
24 std::shared_ptr<ControlHostUiTargetAdapter> target_adapter;
25 std::string view_generation;
26};
27
33 std::function<std::optional<ControlInstalledHostUiTargets>(
36 std::shared_ptr<RuntimeEvaluator> runtime_evaluator;
38};
39
42 std::function<std::optional<ControlUiObservation>(const ControlUiObservationRequest&)>
44 std::function<std::vector<ControlDiagnosticItem>()> read_diagnostics;
45 std::function<ControlLogPage(std::uint64_t after_sequence, std::size_t limit)> read_logs;
50};
51
54 std::shared_ptr<InspectorMainThreadRpc> main_thread_rpc;
55 std::shared_ptr<TraceInspector> trace_inspector;
56 std::shared_ptr<ControlTelemetryTap> telemetry;
59 std::optional<ControlInstalledHostUiConfig> ui;
60 std::optional<ControlInstalledHostDevelopmentConfig> development;
65 std::chrono::milliseconds heartbeat_interval = std::chrono::seconds(5);
66 std::chrono::milliseconds heartbeat_ttl = std::chrono::seconds(30);
67 std::chrono::milliseconds handshake_timeout = std::chrono::seconds(3);
68};
69
77 public:
78 static std::unique_ptr<ControlInstalledHost> start(ControlInstalledHostConfig config);
80
83
84 bool ready() const;
86 void stop() noexcept;
87
88 private:
89 struct State;
90 explicit ControlInstalledHost(std::shared_ptr<State> state);
91 static std::unique_ptr<ControlInstalledHost>
92 finish_start(std::shared_ptr<State> state, void (*before_owner_construction)());
94 std::shared_ptr<State> state_;
95};
96
97} // namespace pulp::inspect
One-shot inherited authority material.
Definition control_host_bootstrap.hpp:46
static std::unique_ptr< ControlInstalledHost > start(ControlInstalledHostConfig config)
friend struct detail::ControlInstalledHostTestAccess
Definition control_installed_host.hpp:93
ControlInstalledHost & operator=(const ControlInstalledHost &)=delete
ControlInstalledHost(const ControlInstalledHost &)=delete
const ControlHostOpenResult & binding() const
Definition motion_inspector.hpp:54
Definition motion_scrubber.hpp:35
Definition resource_counters.hpp:35
Definition control_inspector_client.hpp:87
Definition agent_context.hpp:7
TestInputReleaseReason
Definition test_input.hpp:43
std::function< std::optional< std::string >(std::string_view result_json)> ControlRuntimeEvalRedactor
Definition control_host_ui_executor.hpp:120
std::function< ControlExecutionOutcome( const ControlAdmissionPlan &, const ControlRequestEnvelope &, const ControlExecutionContext &)> ControlOperationExecutor
Trusted in-process adapter contract.
Definition control_execution.hpp:56
@ State
Definition capabilities.hpp:44
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
STL namespace.
Definition control_host_development_executor.hpp:75
Definition control_host_development_executor.hpp:66
Definition control_protocol.hpp:166
Definition control_installed_host.hpp:52
std::chrono::milliseconds heartbeat_ttl
Definition control_installed_host.hpp:66
MotionScrubber * motion_scrubber
Definition control_installed_host.hpp:58
std::shared_ptr< ControlTelemetryTap > telemetry
Definition control_installed_host.hpp:56
ControlHostBootstrapRecord bootstrap
Definition control_installed_host.hpp:53
ControlOperationExecutor host_executor
Additional typed host executor (for example canonical StateStore read/write composition).
Definition control_installed_host.hpp:64
MotionInspector * motion_inspector
Definition control_installed_host.hpp:57
std::optional< ControlInstalledHostUiConfig > ui
Definition control_installed_host.hpp:59
std::optional< ControlInstalledHostDevelopmentConfig > development
Definition control_installed_host.hpp:60
std::shared_ptr< TraceInspector > trace_inspector
Definition control_installed_host.hpp:55
std::chrono::milliseconds handshake_timeout
Definition control_installed_host.hpp:67
std::shared_ptr< InspectorMainThreadRpc > main_thread_rpc
Definition control_installed_host.hpp:54
std::chrono::milliseconds heartbeat_interval
Definition control_installed_host.hpp:65
Definition control_installed_host.hpp:40
std::function< ControlAuthoringApplyResult(const ControlAuthoringChanges &)> apply_authoring
Definition control_installed_host.hpp:49
std::function< TestInputApplyResult(const ControlTestTransportInput &)> apply_test_transport
Definition control_installed_host.hpp:47
std::function< std::vector< ControlDiagnosticItem >()> read_diagnostics
Definition control_installed_host.hpp:44
std::function< void(TestInputReleaseReason)> release_test_input
Definition control_installed_host.hpp:48
std::function< TestInputApplyResult(const ControlTestNoteInput &)> apply_test_note
Definition control_installed_host.hpp:46
std::function< ControlLogPage(std::uint64_t after_sequence, std::size_t limit)> read_logs
Definition control_installed_host.hpp:45
std::function< std::optional< ControlUiObservation >(const ControlUiObservationRequest &)> observe_ui
Definition control_installed_host.hpp:43
ControlManifest manifest
Definition control_installed_host.hpp:41
Definition control_installed_host.hpp:28
ControlManifest manifest
Definition control_installed_host.hpp:29
std::shared_ptr< RuntimeEvaluator > runtime_evaluator
Definition control_installed_host.hpp:36
std::function< std::optional< ControlInstalledHostUiTargets >(const ControlHostOpenResult &)> make_targets
Runs after the broker returns the exact binding and before executor installation/ready publication,...
Definition control_installed_host.hpp:35
ControlRuntimeEvalRedactor redact_runtime_eval_result
Definition control_installed_host.hpp:37
Definition control_installed_host.hpp:22
std::shared_ptr< ControlHostUiTargetAdapter > target_adapter
Definition control_installed_host.hpp:24
std::shared_ptr< InspectorCaptureSource > capture_source
Definition control_installed_host.hpp:23
std::string view_generation
Definition control_installed_host.hpp:25
Definition control_host_development_executor.hpp:46
Definition control_manifest.hpp:67
Definition control_host_development_executor.hpp:51
Definition control_host_development_executor.hpp:59
Definition control_host_development_executor.hpp:21
Definition test_input.hpp:30