File indexing completed on 2025-02-16 13:03:41
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