26#include <unordered_map>
46 using CreatorFunc = std::function<std::unique_ptr<IWorkerRequest>()>;
59 [[nodiscard]]
static std::unique_ptr<IWorkerRequest>
build(
WorkerType type);
78 static std::unordered_map<WorkerType, CreatorFunc>& getRegistry();
Static registry for creating IWorkerRequest instances based on type.
std::function< std::unique_ptr< IWorkerRequest >()> CreatorFunc
Definition of the creator function signature.
static std::unique_ptr< IWorkerRequest > build(WorkerType type)
Retrieves an instance of the worker for the specified type.
static void registerCreator(WorkerType type, CreatorFunc creator)
Registers a creator function for a specific worker type.
Abstract interface for asynchronous image processing workers.
WorkerType
Identifies the specific technology or strategy used for a processing worker.
Manages the lifecycle of a single IWorkingImage instance.
Enumeration defining supported worker types.