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
27
namespace
CaptureMoment::Core
{
28
29
30
namespace
Pipeline {
class
PipelineContext; }
31
namespace
ImageProcessing
{
class
IWorkingImageHardware; }
32
33
namespace
Workers {
34
44
class
IWorkerRequest
{
45
public
:
49
virtual
~IWorkerRequest
() =
default
;
50
65
[[nodiscard]]
virtual
std::future<bool>
execute
(
66
Pipeline::PipelineContext
& context,
67
ImageProcessing::IWorkingImageHardware
& working_image
68
) = 0;
69
70
protected
:
74
IWorkerRequest
() =
default
;
75
};
76
77
}
// namespace Workers
78
79
}
// namespace CaptureMoment::Core
CaptureMoment::Core::ImageProcessing::IWorkingImageHardware
Abstract interface representing an image used as a working buffer.
Definition
i_working_image_hardware.h:44
CaptureMoment::Core::Pipeline::PipelineContext
Central container for pipeline infrastructure.
Definition
pipeline_context.h:43
CaptureMoment::Core::Workers::IWorkerRequest
Base interface for all asynchronous processing workers.
Definition
i_worker_request.h:44
CaptureMoment::Core::Workers::IWorkerRequest::execute
virtual std::future< bool > execute(Pipeline::PipelineContext &context, ImageProcessing::IWorkingImageHardware &working_image)=0
Executes the specific processing logic asynchronously.
CaptureMoment::Core::Workers::IWorkerRequest::IWorkerRequest
IWorkerRequest()=default
Protected constructor to enforce abstract interface usage.
CaptureMoment::Core::Workers::IWorkerRequest::~IWorkerRequest
virtual ~IWorkerRequest()=default
Virtual destructor.
CaptureMoment::Core::ErrorHandling::CoreErrorCategory::ImageProcessing
@ ImageProcessing
Errors related to Image Processing, GPU, or Memory.
CaptureMoment::Core
Manages the lifecycle of a single IWorkingImage instance.
Definition
app_config.cpp:11
CaptureMoment — footer