CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
configurable_xmp_path_strategy.h
Go to the documentation of this file.
1
9#pragma once
10
13
14#include <string_view>
15#include <memory>
16
18
29public:
36 explicit ConfigurableXmpPathStrategy(const std::string& base_xmp_dir, std::unique_ptr<IXmpProvider> xmp_provider);
37
38 ~ConfigurableXmpPathStrategy() override = default;
39
40 // Delete copy/move
45
54 [[nodiscard]] std::string getXmpPathForImage(std::string_view source_image_path) const override;
55
66 [[nodiscard]] std::string getImagePathFromXmp(std::string_view xmp_path) const override;
67
68private:
72 const std::string m_base_xmp_dir;
73
77 std::unique_ptr<IXmpProvider> m_xmp_provider;
78};
79
80} // namespace CaptureMoment::Core::Serializer
Implementation of IXmpPathStrategy that stores XMP files in a user-configured directory.
std::string getImagePathFromXmp(std::string_view xmp_path) const override
Calculates the source image path associated with a given XMP file path.
ConfigurableXmpPathStrategy(ConfigurableXmpPathStrategy &&)=delete
ConfigurableXmpPathStrategy & operator=(ConfigurableXmpPathStrategy &&)=delete
ConfigurableXmpPathStrategy & operator=(const ConfigurableXmpPathStrategy &)=delete
std::string getXmpPathForImage(std::string_view source_image_path) const override
Calculates the XMP file path associated with a given source image path.
ConfigurableXmpPathStrategy(const ConfigurableXmpPathStrategy &)=delete
ConfigurableXmpPathStrategy(const std::string &base_xmp_dir, std::unique_ptr< IXmpProvider > xmp_provider)
Constructs a ConfigurableXmpPathStrategy.
Interface defining the strategy for determining XMP file paths based on image paths.
Declaration of IXmpPathStrategy interface.
Declaration of IXmpProvider interface.
CaptureMoment — footer