CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
exiv2_provider.h
Go to the documentation of this file.
1
9#pragma once
10
11#include "i_xmp_provider.h"
12
13namespace CaptureMoment::Core {
14
15namespace Serializer {
16
25class Exiv2Provider final : public IXmpProvider {
26public:
30 Exiv2Provider() = default;
31
38 [[nodiscard]] std::string readXmp(std::string_view file_path) const override;
39
50 [[nodiscard]] bool writeXmp(std::string_view filePath, std::string_view xmpData) const override;
51};
52
53} // namespace Serializer
54
55} // namespace CaptureMoment::Core
Concrete implementation of IXmpProvider using the Exiv2 library.
std::string readXmp(std::string_view file_path) const override
Reads the raw XMP packet data from the specified file.
bool writeXmp(std::string_view filePath, std::string_view xmpData) const override
Writes the provided raw XMP packet data to the specified file.
Exiv2Provider()=default
Default constructor.
Interface abstracting the service for reading/writing raw XMP packets to/from files.
Declaration of IXmpProvider interface.
Manages the lifecycle of a single IWorkingImage instance.
CaptureMoment — footer