File indexing completed on 2024-05-05 05:53:50
0001 /* This file was part of the KDE libraries 0002 0003 SPDX-FileCopyrightText: 2021 Tomaz Canabrava <tcanabrava@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef PLUGINMANAGER_H 0009 #define PLUGINMANAGER_H 0010 0011 #include <QObject> 0012 0013 #include "konsoleapp_export.h" 0014 #include <memory> 0015 0016 namespace Konsole 0017 { 0018 class IKonsolePlugin; 0019 class MainWindow; 0020 0021 struct PluginManagerPrivate; 0022 0023 class KONSOLEAPP_EXPORT PluginManager : public QObject 0024 { 0025 Q_OBJECT 0026 public: 0027 PluginManager(); 0028 ~PluginManager() override; 0029 void loadAllPlugins(); 0030 void registerMainWindow(Konsole::MainWindow *window); 0031 0032 std::vector<IKonsolePlugin *> plugins() const; 0033 0034 private: 0035 std::unique_ptr<PluginManagerPrivate> d; 0036 }; 0037 0038 } 0039 #endif