CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
exiv2_initializer.cpp
Go to the documentation of this file.
1
9#include <exiv2/exiv2.hpp>
10#include <spdlog/spdlog.h>
11
13
14// Static member definition
15std::once_flag Exiv2Initializer::m_init_flag;
16
18{
19 std::call_once(m_init_flag, [](){
20 spdlog::debug("Exiv2Initializer: Initializing Exiv2 XMP Parser...");
21 Exiv2::XmpParser::initialize();
22 ::atexit(Exiv2Initializer::terminate); // Register termination function
23 spdlog::info("Exiv2Initializer: Exiv2 XMP Parser initialized.");
24 });
25}
26
28{
29 spdlog::debug("Exiv2Initializer: Terminating Exiv2 XMP Parser...");
30 Exiv2::XmpParser::terminate();
31 spdlog::info("Exiv2Initializer: Exiv2 XMP Parser terminated.");
32}
33
34} // namespace CaptureMoment::Core::Serializer
static void initialize()
Initializes the Exiv2 XMP parser if not already done. This function is thread-safe.
static void terminate()
Terminates the Exiv2 XMP parser. This function is registered to run at program termination via std::a...
Declaration of Exiv2Initializer class.
CaptureMoment — footer