File indexing completed on 2024-05-05 04:39:43
0001 /* 0002 SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #ifndef DOCKERPLUGIN_H 0008 #define DOCKERPLUGIN_H 0009 0010 #include <interfaces/iruntime.h> 0011 #include <interfaces/iplugin.h> 0012 #include <util/path.h> 0013 // Qt 0014 #include <QProcess> 0015 #include <QHash> 0016 0017 class DockerPreferencesSettings; 0018 0019 class DockerPlugin : public KDevelop::IPlugin 0020 { 0021 Q_OBJECT 0022 public: 0023 DockerPlugin(QObject *parent, const QVariantList & args); 0024 ~DockerPlugin() override; 0025 0026 KDevelop::ContextMenuExtension contextMenuExtension(KDevelop::Context* context, QWidget* parent) override; 0027 0028 void imagesListFinished(int code); 0029 0030 int configPages() const override; 0031 KDevelop::ConfigPage* configPage(int number, QWidget* parent) override; 0032 0033 Q_SIGNALS: 0034 ///only used by the test 0035 void imagesListed(); 0036 0037 private: 0038 void runtimeChanged(KDevelop::IRuntime* newRuntime); 0039 0040 QHash<KDevelop::Path, KDevelop::IRuntime *> m_runtimes; 0041 QScopedPointer<DockerPreferencesSettings> m_settings; 0042 }; 0043 0044 #endif