1 | /* |
2 | SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.1-or-later |
5 | */ |
6 | |
7 | #ifndef KFILEMETADATA_EXTRACTOR_H |
8 | #define |
9 | |
10 | #include "kfilemetadata_export.h" |
11 | #include <QStringList> |
12 | #include <QVariantMap> |
13 | |
14 | #include <memory> |
15 | |
16 | namespace KFileMetaData { |
17 | |
18 | class ; |
19 | class ; |
20 | class ; |
21 | class ; |
22 | |
23 | /*! |
24 | * \class KFileMetaData::Extractor |
25 | * \inheaderfile KFileMetaData/Extractor |
26 | * \inmodule KFileMetaData |
27 | * |
28 | * \brief The Extractor class is used to extract data from a file. |
29 | */ |
30 | class KFILEMETADATA_EXPORT |
31 | { |
32 | /*! |
33 | * \value AutoDeletePlugin |
34 | * \value DoNotDeletePlugin |
35 | */ |
36 | enum { |
37 | , |
38 | , |
39 | }; |
40 | |
41 | public: |
42 | (Extractor&&); |
43 | virtual () noexcept; |
44 | |
45 | /*! |
46 | * |
47 | */ |
48 | void (ExtractionResult* result); |
49 | |
50 | /*! |
51 | * |
52 | */ |
53 | QStringList () const; |
54 | |
55 | /*! |
56 | * |
57 | */ |
58 | QVariantMap () const; |
59 | |
60 | private: |
61 | KFILEMETADATA_NO_EXPORT (); |
62 | |
63 | (const Extractor&) = delete; |
64 | void (const Extractor&) = delete; |
65 | |
66 | KFILEMETADATA_NO_EXPORT void (ExtractorPlugin *); |
67 | |
68 | KFILEMETADATA_NO_EXPORT void (ExtractorPluginOwnership autoDelete); |
69 | |
70 | KFILEMETADATA_NO_EXPORT void (const QVariantMap &metaData); |
71 | |
72 | friend class ExtractorCollection; |
73 | friend class ; |
74 | friend class ExtractorPrivate; |
75 | std::unique_ptr<ExtractorPrivate> ; |
76 | }; |
77 | } |
78 | |
79 | #endif // KFILEMETADATA_EXTRACTOR_H |
80 | |