File indexing completed on 2024-05-12 15:37:05

0001 /*
0002     SPDX-FileCopyrightText: 2013 Vishesh Handa <me@vhanda.in>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 
0008 #ifndef ODF_EXTRACTOR_H
0009 #define ODF_EXTRACTOR_H
0010 
0011 #include "extractorplugin.h"
0012 
0013 class QIODevice;
0014 
0015 namespace KFileMetaData
0016 {
0017 
0018 class OdfExtractor : public ExtractorPlugin
0019 {
0020     Q_OBJECT
0021     Q_PLUGIN_METADATA(IID "org.kde.kf5.kfilemetadata.ExtractorPlugin"
0022                       FILE "odfextractor.json")
0023     Q_INTERFACES(KFileMetaData::ExtractorPlugin)
0024 
0025 public:
0026     explicit OdfExtractor(QObject* parent = nullptr);
0027 
0028     QStringList mimetypes() const override;
0029     void extract(ExtractionResult* result) override;
0030 
0031 private:
0032     void parseMetaData(const QString &documentElementId, const QByteArray &data, ExtractionResult *result);
0033     void extractPlainText(QIODevice *device, ExtractionResult *result);
0034 };
0035 }
0036 
0037 #endif // ODF_EXTRACTOR_H