umbrello  2.39.2
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
14 class QString;
15 
16 namespace Umbrello
17 {
18 // forward declarations
19 class Plugin;
20 
53 class PluginLoader : public QObject
54 {
55  Q_OBJECT
56 public:
57 
59  ~PluginLoader();
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 
101 private slots:
107  void slotDestroyed(QObject *obj);
108 
109 private:
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