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