/* This file is part of the KFileMetaData project SPDX-FileCopyrightText: 2016 Varun Joshi SPDX-FileCopyrightText: 2016 Vishesh Handa SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #ifndef KFILEMETADTA_WRITER_H #define KFILEMETADTA_WRITER_H #include "kfilemetadata_export.h" #include #include namespace KFileMetaData { class WriteData; class WriterCollection; class WriterPrivate; /** * \class Writer writer.h * * \brief The Writer class is used to write data to a file. */ class KFILEMETADATA_EXPORT Writer { enum WriterPluginOwnership { AutoDeletePlugin, DoNotDeletePlugin, }; public: Writer(Writer&&); virtual ~Writer(); void write(const WriteData& data); QStringList mimetypes() const; private: KFILEMETADATA_NO_EXPORT Writer(); Writer(const Writer&) = delete; void operator =(const Writer&) = delete; KFILEMETADATA_NO_EXPORT void setAutoDeletePlugin(WriterPluginOwnership autoDelete); std::unique_ptr d; friend class WriterPrivate; friend class WriterCollectionPrivate; }; } #endif // KFILEMETADTA_WRITER_H