CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
i_worker_request.h
Go to the documentation of this file.
1
21#pragma once
22
23#include <future>
24#include <memory>
25
26
27namespace CaptureMoment::Core {
28
29
30namespace Pipeline { class PipelineContext; }
31namespace ImageProcessing { class IWorkingImageHardware; }
32
33namespace Workers {
34
45public:
49 virtual ~IWorkerRequest() = default;
50
65 [[nodiscard]] virtual std::future<bool> execute(
68 ) = 0;
69
70protected:
74 IWorkerRequest() = default;
75};
76
77} // namespace Workers
78
79} // namespace CaptureMoment::Core
Abstract interface representing an image used as a working buffer.
Central container for pipeline infrastructure.
Base interface for all asynchronous processing workers.
virtual std::future< bool > execute(Pipeline::PipelineContext &context, ImageProcessing::IWorkingImageHardware &working_image)=0
Executes the specific processing logic asynchronously.
IWorkerRequest()=default
Protected constructor to enforce abstract interface usage.
virtual ~IWorkerRequest()=default
Virtual destructor.
@ ImageProcessing
Errors related to Image Processing, GPU, or Memory.
Manages the lifecycle of a single IWorkingImage instance.
CaptureMoment — footer