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 OFFICE_2007_EXTRACTOR_H
0009 #define OFFICE_2007_EXTRACTOR_H
0010 
0011 #include "extractorplugin.h"
0012 
0013 #include <QIODevice>
0014 
0015 class KArchiveDirectory;
0016 
0017 namespace KFileMetaData
0018 {
0019 
0020 class Office2007Extractor : public ExtractorPlugin
0021 {
0022     Q_OBJECT
0023     Q_PLUGIN_METADATA(IID "org.kde.kf5.kfilemetadata.ExtractorPlugin"
0024                       FILE "office2007extractor.json")
0025     Q_INTERFACES(KFileMetaData::ExtractorPlugin)
0026 
0027 public:
0028     explicit Office2007Extractor(QObject* parent = nullptr);
0029 
0030     QStringList mimetypes() const override;
0031     void extract(ExtractionResult* result) override;
0032 
0033 private:
0034     void extractTextWithTag(QIODevice* device, const QString& tag, ExtractionResult* result);
0035     void extractAllText(QIODevice* device, ExtractionResult* result);
0036     void extractTextFromFiles(const KArchiveDirectory* archiveDir, ExtractionResult* result);
0037 };
0038 }
0039 
0040 #endif // OFFICE_2007_EXTRACTOR_H