File indexing completed on 2025-03-16 12:49:35
0001 /* 0002 SPDX-FileCopyrightText: 2012 Vishesh Handa <me@vhanda.in> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 0008 #ifndef EXIV2EXTRACTOR_H 0009 #define EXIV2EXTRACTOR_H 0010 0011 #include "extractorplugin.h" 0012 #include <exiv2/exiv2.hpp> 0013 0014 namespace KFileMetaData 0015 { 0016 0017 class Exiv2Extractor : public ExtractorPlugin 0018 { 0019 Q_OBJECT 0020 Q_PLUGIN_METADATA(IID "org.kde.kf5.kfilemetadata.ExtractorPlugin" 0021 FILE "exiv2extractor.json") 0022 Q_INTERFACES(KFileMetaData::ExtractorPlugin) 0023 0024 public: 0025 explicit Exiv2Extractor(QObject* parent = nullptr); 0026 0027 void extract(ExtractionResult* result) override; 0028 QStringList mimetypes() const override; 0029 0030 private: 0031 void add(ExtractionResult* result, const Exiv2::ExifData& data, 0032 Property::Property prop, 0033 const char* name, QVariant::Type type); 0034 0035 double fetchGpsDouble(const Exiv2::ExifData& data, const char* name); 0036 double fetchGpsAltitude(const Exiv2::ExifData& data); 0037 QByteArray fetchByteArray(const Exiv2::ExifData& data, const char* name); 0038 }; 0039 } 0040 0041 #endif // EXIV2EXTRACTOR_H