11#include <spdlog/spdlog.h>
19 spdlog::info(
"OperationFactory::create: Available creators size: {}", m_creators.size());
21 auto it = m_creators.find(descriptor.
type);
23 if (it == m_creators.end()) {
24 spdlog::error(
"OperationFactory::create: No creator registered for operation type");
28 spdlog::info(
"OperationFactory::create: Creating operation '{}'", descriptor.
name);
29 auto op = it->second();
30 spdlog::info(
"OperationFactory::create: Operation created successfully");
std::expected< std::unique_ptr< IOperation >, ErrorHandling::CoreError > create(const OperationDescriptor &descriptor) const
Create an operation instance from descriptor.
Interface for image processing operations.
CoreError
Enumeration of all error codes for CaptureMoment Core.
Descriptor of an operation with its parameters and unique identifier.
Factory for creating operations (Dependency Injection)
A universal container for operation settings with unique identifier.
OperationType type
The operation type (e.g., Brightness, Contrast, Saturation). Used by the factory to create the approp...
std::string name
Human-readable name for display purposes. May include parameter values, e.g., "Brightness (100%)".