7#ifndef KFILEMETADATA_EXTRACTOR_H
8#define KFILEMETADATA_EXTRACTOR_H
10#include "kfilemetadata_export.h"
16namespace KFileMetaData {
18class ExtractionResult;
19class ExtractorCollection;
21class ExtractorPrivate;
26class KFILEMETADATA_EXPORT Extractor
28 enum ExtractorPluginOwnership {
34 Extractor(Extractor&&);
35 virtual ~Extractor() noexcept;
37 void extract(ExtractionResult* result);
38 QStringList mimetypes() const;
39 QVariantMap extractorProperties() const;
43 Extractor(const Extractor&);
45 void operator =(const Extractor&);
47 void setExtractorPlugin(ExtractorPlugin *extractorPlugin);
49 void setAutoDeletePlugin(ExtractorPluginOwnership autoDelete);
51 void setMetaData(const QVariantMap &metaData);
53 friend class ExtractorCollection;
54 friend class ExtractorCollectionPrivate;
55 friend class ExtractorPrivate;
56 std::unique_ptr<ExtractorPrivate> d;