PluginManager.h 713 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*  This file was part of the KDE libraries

    SPDX-FileCopyrightText: 2021 Tomaz Canabrava <tcanabrava@kde.org>

    SPDX-License-Identifier: GPL-2.0-or-later
*/

#ifndef PLUGINMANAGER_H
#define PLUGINMANAGER_H

#include <QObject>

#include <QList>

#include <memory>
#include "konsole_export.h"

namespace Konsole {
class IKonsolePlugin;
class MainWindow;

struct PluginManagerPrivate;

class KONSOLE_EXPORT PluginManager : public QObject {
    Q_OBJECT
public:
    PluginManager();
    ~PluginManager();
    void loadAllPlugins();
    void registerMainWindow(Konsole::MainWindow* window);

    std::vector<IKonsolePlugin*> plugins() const;

private:
    std::unique_ptr<PluginManagerPrivate> d;
};

}
#endif