umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
pluginloader.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2003 Andrew Sutton <ansutton@kent.edu>
3 SPDX-License-Identifier: GPL-2.0-or-later
4*/
5
6#ifndef UMBRELLO_PLUGINLOADER_H
7#define UMBRELLO_PLUGINLOADER_H
8
9// Qt includes
10#include <Q3ValueList>
11#include <QMap>
12
13// forward declarations
14class QString;
15
16namespace Umbrello
17{
18// forward declarations
19class Plugin;
20
53class PluginLoader : public QObject
54{
55 Q_OBJECT
56public:
57
60
61
63 typedef Q3ValueList<Plugin *> PluginList;
64
66 typedef QMap<QString, Plugin *> PluginMap;
67
69 typedef QMap<QString, PluginList> CategoryMap;
70
72 static PluginLoader *instance();
73
78 Plugin *loadPlugin(const QString &name);
79
81 Plugin *findPlugin(const QString &name);
82
89 void unloadPlugin(const QString &name);
90
96 const PluginMap &plugins() const;
97
99 const CategoryMap &categories() const;
100
101private slots:
107 void slotDestroyed(QObject *obj);
108
109private:
111 PluginLoader();
112
116};
117}
118
119#endif
Definition: pluginloader.h:54
PluginLoader()
Definition: pluginloader.cpp:24
QMap< QString, PluginList > CategoryMap
Definition: pluginloader.h:69
QMap< QString, Plugin * > PluginMap
Definition: pluginloader.h:66
~PluginLoader()
Definition: pluginloader.cpp:34
void unloadPlugin(const QString &name)
Definition: pluginloader.cpp:127
PluginMap _plugins
The plugin mapping.
Definition: pluginloader.h:114
Plugin * findPlugin(const QString &name)
Definition: pluginloader.cpp:118
CategoryMap _categories
Categories of plugins.
Definition: pluginloader.h:115
const PluginMap & plugins() const
Definition: pluginloader.cpp:133
static PluginLoader * _instance
Singleton instance.
Definition: pluginloader.h:113
Plugin * loadPlugin(const QString &name)
Definition: pluginloader.cpp:46
Q3ValueList< Plugin * > PluginList
Definition: pluginloader.h:63
const CategoryMap & categories() const
Definition: pluginloader.cpp:139
static PluginLoader * instance()
Definition: pluginloader.cpp:39
void slotDestroyed(QObject *obj)
Definition: pluginloader.cpp:145
Definition: plugin.h:77
Definition: configurable.h:24