40 std::unique_ptr<IXmpProvider> xmp_provider,
41 std::unique_ptr<IXmpPathStrategy> xmp_path_strategy
63 std::string_view source_image_path,
64 std::span<const Operations::OperationDescriptor> operations
71 std::unique_ptr<IXmpProvider> m_xmp_provider;
76 std::unique_ptr<IXmpPathStrategy> m_xmp_path_strategy;
87 [[nodiscard]] std::string serializeOperationsToXmp(
88 std::span<const Operations::OperationDescriptor> operations,
89 std::string_view source_image_path
Concrete implementation of IFileSerializerWriter using an IXmpProvider for XMP operations and an IXmp...
FileSerializerWriter(std::unique_ptr< IXmpProvider > xmp_provider, std::unique_ptr< IXmpPathStrategy > xmp_path_strategy)
Constructs a FileSerializerWriter.
FileSerializerWriter(FileSerializerWriter &&)=delete
FileSerializerWriter & operator=(FileSerializerWriter &&)=delete
~FileSerializerWriter() override=default
FileSerializerWriter(const FileSerializerWriter &)=delete
bool saveToFile(std::string_view source_image_path, std::span< const Operations::OperationDescriptor > operations) const override
Saves the provided list of operations to an XMP file determined by the path strategy.
FileSerializerWriter & operator=(const FileSerializerWriter &)=delete
Interface for writing serialized operation data to a file.
Declaration of IFileSerializerWriter interface.
Declaration of IXmpPathStrategy interface.
Declaration of IXmpProvider interface.
Manages the lifecycle of a single IWorkingImage instance.