Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
control_gpu_health_view_adapter.hpp
Go to the documentation of this file.
1#pragma once
2
4
5#include <chrono>
6#include <cstdint>
7#include <functional>
8#include <memory>
9#include <vector>
10
11namespace pulp::inspect {
12
21 public:
22 struct Config {
23 std::shared_ptr<ControlGpuHealthProvider> provider;
24 std::function<std::vector<std::uint8_t>()> capture_back_buffer_png;
35 std::function<std::chrono::steady_clock::time_point()> capture_completed_at;
36 };
37
38 static std::unique_ptr<ControlGpuHealthViewAdapter> create(Config config);
42
44 void poll(std::chrono::steady_clock::time_point now) noexcept;
45
46 private:
47 explicit ControlGpuHealthViewAdapter(Config config);
48 struct Impl;
49 std::unique_ptr<Impl> impl_;
50};
51
52} // namespace pulp::inspect
void poll(std::chrono::steady_clock::time_point now) noexcept
Poll from the host UI thread after its ordinary render/event-loop work.
ControlGpuHealthViewAdapter & operator=(const ControlGpuHealthViewAdapter &)=delete
static std::unique_ptr< ControlGpuHealthViewAdapter > create(Config config)
ControlGpuHealthViewAdapter(const ControlGpuHealthViewAdapter &)=delete
Definition agent_context.hpp:7
Definition control_gpu_health_provider.hpp:91
Definition control_gpu_health_view_adapter.hpp:22
std::shared_ptr< ControlGpuHealthProvider > provider
Definition control_gpu_health_view_adapter.hpp:23
std::function< std::chrono::steady_clock::time_point()> capture_completed_at
Samples the observation boundary immediately after capture/readback returns, before PNG analysis.
Definition control_gpu_health_view_adapter.hpp:35
std::function< ControlGpuHealthProvider::FrameObservation()> frame_evidence
Returns optional native lifecycle evidence without making this Pulp-owned adapter depend on the gener...
Definition control_gpu_health_view_adapter.hpp:31
std::function< std::vector< std::uint8_t >()> capture_back_buffer_png
Definition control_gpu_health_view_adapter.hpp:24