File indexing completed on 2024-05-05 16:09:02

0001 /*
0002     This file is part of the KFileMetaData project
0003     SPDX-FileCopyrightText: 2016 Varun Joshi <varunj.1011@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef EXTERNALWRITER_H
0009 #define EXTERNALWRITER_H
0010 
0011 #include "writerplugin.h"
0012 
0013 namespace KFileMetaData {
0014 class ExternalWriterPrivate;
0015 class ExternalWriter : public WriterPlugin
0016 {
0017     Q_OBJECT
0018 
0019 public:
0020     explicit ExternalWriter(QObject* parent = nullptr);
0021     explicit ExternalWriter(const QString& pluginPath);
0022     ~ExternalWriter() override;
0023 
0024     void write(const WriteData& data) override;
0025     QStringList writeMimetypes() const override;
0026 
0027 private:
0028     bool runtimeInstalled() const;
0029     bool dependenciesSatisfied() const;
0030 
0031     std::unique_ptr<ExternalWriterPrivate> d_ptr;
0032     Q_DECLARE_PRIVATE(ExternalWriter)
0033 };
0034 }
0035 
0036 #endif // EXTERNALWRITER_H