KWin
Loading...
Searching...
No Matches
pluginmanager.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "effect/globals.h"
10
11#include <QHash>
12#include <QObject>
13
14#include <KPluginMetaData>
15
16namespace KWin
17{
18
19class Plugin;
20
24class KWIN_EXPORT PluginManager : public QObject
25{
26 Q_OBJECT
27
28public:
30 ~PluginManager() override;
31
32 QStringList loadedPlugins() const;
33 QStringList availablePlugins() const;
34
35public Q_SLOTS:
36 bool loadPlugin(const QString &pluginId);
37 void unloadPlugin(const QString &pluginId);
38
39private:
40 bool loadPlugin(const KPluginMetaData &metadata);
41
42 std::map<QString, std::unique_ptr<Plugin>> m_plugins;
43};
44
45} // namespace KWin
~PluginManager() override