// SPDX-FileCopyrightText: 2022 Gary Wang // // SPDX-License-Identifier: MIT #ifndef EXIV2WRAPPER_H #define EXIV2WRAPPER_H #include #include #include namespace Exiv2 { class Image; } class Exiv2Wrapper { public: Exiv2Wrapper(); ~Exiv2Wrapper(); bool load(const QString& filePath); void cacheSections(); QString comment() const; QString label(const QString & key) const; QString value(const QString & key) const; static QString XmpValue(const QString &rawValue); static QString XmpValue(const QString &rawValue, QString & language); private: std::unique_ptr m_exivImage; QMap m_metadataValue; QMap m_metadataLabel; QString m_errMsg; template void cacheSection(Collection collection); }; #endif // EXIV2WRAPPER_H