File indexing completed on 2024-04-28 04:37:35

0001 /*
0002     SPDX-FileCopyrightText: 2012 Milian Wolff <mail@milianw.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVPLATFORM_TESTPLUGINCONTROLLER_H
0008 #define KDEVPLATFORM_TESTPLUGINCONTROLLER_H
0009 
0010 #include "testsexport.h"
0011 
0012 #include <shell/plugincontroller.h>
0013 
0014 namespace KDevelop {
0015 /**
0016  * Dummy controller that disables plugins.
0017  */
0018 class KDEVPLATFORMTESTS_EXPORT TestPluginController
0019     : public PluginController
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit TestPluginController(KDevelop::Core* core);
0025     QList<KDevelop::IPlugin*> allPluginsForExtension(const QString& extension,
0026                                                      const QVariantMap& constraints = QVariantMap()) override;
0027     QList<KDevelop::IPlugin*> loadedPlugins() const override;
0028     KDevelop::IPlugin* pluginForExtension(const QString& extension, const QString& pluginName = {},
0029                                           const QVariantMap& constraints = QVariantMap()) override;
0030     KDevelop::IPlugin* loadPlugin(const QString& pluginName) override;
0031     KPluginMetaData pluginInfo(const KDevelop::IPlugin*) const override;
0032     QList<KDevelop::ContextMenuExtension> queryPluginsForContextMenuExtensions(KDevelop::Context* context,
0033                                                                                QWidget* parent) const override;
0034     QVector<KPluginMetaData> queryExtensionPlugins(const QString& extension,
0035                                                    const QVariantMap& constraints = QVariantMap()) const override;
0036     bool unloadPlugin(const QString& plugin) override;
0037     void initialize() override;
0038 };
0039 }
0040 
0041 #endif // KDEVPLATFORM_TESTPLUGINCONTROLLER_H