CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
worker_context.h
Go to the documentation of this file.
1
19#pragma once
20
23#include "workers/worker_type.h"
24
25#include <memory>
26
27namespace CaptureMoment::Core {
28namespace Workers {
29
40public:
47 explicit WorkerContext();
48
52 ~WorkerContext() = default;
53
54 // Disable copy and move for the Context itself to ensure single ownership of the Builder
55 WorkerContext(const WorkerContext&) = delete;
59
70 return *m_halide_worker;
71 }
72
76 [[nodiscard]] const HalideOperationWorker& getHalideOperationWorker() const noexcept {
77 return *m_halide_worker;
78 }
79
80private:
86 std::unique_ptr<WorkerBuilder> m_builder;
87
91 std::unique_ptr<HalideOperationWorker> m_halide_worker;
92};
93
94} // namespace Workers
95
96} // namespace CaptureMoment::Core
Worker responsible for running pre-configured Halide pipelines.
Central container for worker infrastructure.
WorkerContext & operator=(WorkerContext &&)=delete
WorkerContext(const WorkerContext &)=delete
const HalideOperationWorker & getHalideOperationWorker() const noexcept
Const overload for read-only access.
HalideOperationWorker & getHalideOperationWorker() noexcept
Gets a reference to the Halide Operation Worker.
WorkerContext & operator=(const WorkerContext &)=delete
Concrete worker for Halide-based adjustment operations.
Manages the lifecycle of a single IWorkingImage instance.
Central Registry and Factory for IWorkerRequest instances.
Enumeration defining supported worker types.
CaptureMoment — footer