1 | /* |
2 | This file is part of the KFileMetaData project |
3 | SPDX-FileCopyrightText: 2016 Varun Joshi <varunj.1011@gmail.com> |
4 | SPDX-FileCopyrightText: 2016 Vishesh Handa <me@vhanda.in> |
5 | |
6 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #ifndef _KFILEMETADTA_WRITERPLUGIN_H |
10 | #define _KFILEMETADTA_WRITERPLUGIN_H |
11 | |
12 | #include "kfilemetadata_export.h" |
13 | #include <QStringList> |
14 | |
15 | #include "writedata.h" |
16 | |
17 | namespace KFileMetaData |
18 | { |
19 | |
20 | /*! |
21 | * \class KFileMetaData::WriterPlugin |
22 | * \inheaderfile KFileMetaData/WriterPlugin |
23 | * \inmodule KFileMetaData |
24 | * |
25 | * \brief The WriterPlugin is the base class for all file metadata |
26 | * writers. |
27 | * |
28 | * It is responsible for writing the metadata to a file. |
29 | */ |
30 | class KFILEMETADATA_EXPORT WriterPlugin : public QObject |
31 | { |
32 | Q_OBJECT |
33 | public: |
34 | /*! |
35 | * |
36 | */ |
37 | explicit WriterPlugin(QObject* parent); |
38 | ~WriterPlugin() override; |
39 | |
40 | /*! |
41 | * |
42 | */ |
43 | virtual QStringList writeMimetypes() const = 0; |
44 | |
45 | /*! |
46 | * |
47 | */ |
48 | virtual void write(const WriteData& data) = 0; |
49 | }; |
50 | } |
51 | |
52 | Q_DECLARE_INTERFACE(KFileMetaData::WriterPlugin, "org.kde.kf5.kfilemetadata.WriterPlugin" ) |
53 | #endif // _KFILEMETADTA_WRITERPLUGIN_H |
54 | |