File indexing completed on 2024-05-05 16:09:02

0001 /*
0002     SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "extractor.h"
0008 #include "extractor_p.h"
0009 #include "extractorplugin.h"
0010 
0011 #include <utility>
0012 
0013 using namespace KFileMetaData;
0014 
0015 Extractor::Extractor()
0016     : d(new ExtractorPrivate)
0017 {
0018 }
0019 
0020 Extractor::~Extractor() = default;
0021 
0022 Extractor::Extractor(Extractor&& other)
0023 {
0024     d = std::move(other.d);
0025 }
0026 
0027 void Extractor::extract(ExtractionResult* result)
0028 {
0029     d->m_plugin->extract(result);
0030 }
0031 
0032 QStringList Extractor::mimetypes() const
0033 {
0034     return d->m_plugin->mimetypes();
0035 }
0036 
0037 QVariantMap Extractor::extractorProperties() const
0038 {
0039     return d->m_metaData;
0040 }
0041 
0042 void Extractor::setExtractorPlugin(ExtractorPlugin *extractorPlugin)
0043 {
0044     d->m_plugin = extractorPlugin;
0045 }
0046 
0047 void Extractor::setAutoDeletePlugin(ExtractorPluginOwnership autoDelete)
0048 {
0049     d->m_autoDeletePlugin = autoDelete;
0050 }
0051 
0052 void Extractor::setMetaData(const QVariantMap &metaData)
0053 {
0054     d->m_metaData = metaData;
0055 }