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
17namespace 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 */
30class KFILEMETADATA_EXPORT WriterPlugin : public QObject
31{
32 Q_OBJECT
33public:
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
52Q_DECLARE_INTERFACE(KFileMetaData::WriterPlugin, "org.kde.kf5.kfilemetadata.WriterPlugin")
53#endif // _KFILEMETADTA_WRITERPLUGIN_H
54

source code of kfilemetadata/src/writerplugin.h