umbrello  2.31.80
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  pluginloader.h
3  -------------------
4  begin : Mon Jan 13 2003
5  copyright : (C) 2003 by Andrew Sutton
6  email : ansutton@kent.edu
7  Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org
8 ***************************************************************************/
9 
10 /***************************************************************************
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * *
17  ***************************************************************************/
18 
19 #ifndef UMBRELLO_PLUGINLOADER_H
20 #define UMBRELLO_PLUGINLOADER_H
21 
22 // Qt includes
23 #include <Q3ValueList>
24 #include <QMap>
25 
26 // forward declarations
27 class QString;
28 
29 namespace Umbrello
30 {
31 // forward declarations
32 class Plugin;
33 
66 class PluginLoader : public QObject
67 {
68  Q_OBJECT
69 public:
70 
72  ~PluginLoader();
73 
74 
76  typedef Q3ValueList<Plugin *> PluginList;
77 
79  typedef QMap<QString, Plugin *> PluginMap;
80 
82  typedef QMap<QString, PluginList> CategoryMap;
83 
85  static PluginLoader *instance();
86 
91  Plugin *loadPlugin(const QString &name);
92 
94  Plugin *findPlugin(const QString &name);
95 
102  void unloadPlugin(const QString &name);
103 
109  const PluginMap &plugins() const;
110 
112  const CategoryMap &categories() const;
113 
114 private slots:
120  void slotDestroyed(QObject *obj);
121 
122 private:
124  PluginLoader();
125 
129 };
130 }
131 
132 #endif
Umbrello::PluginLoader::PluginLoader
PluginLoader()
Definition: pluginloader.cpp:34
Umbrello::PluginLoader::_plugins
PluginMap _plugins
The plugin mapping.
Definition: pluginloader.h:127
Umbrello::PluginLoader::_categories
CategoryMap _categories
Categories of plugins.
Definition: pluginloader.h:128
Umbrello::Plugin::ref
void ref()
Definition: plugin.cpp:47
Umbrello::PluginLoader::unloadPlugin
void unloadPlugin(const QString &name)
Definition: pluginloader.cpp:137
plugin.h
Umbrello
Definition: configurable.h:36
Umbrello::PluginLoader::findPlugin
Plugin * findPlugin(const QString &name)
Definition: pluginloader.cpp:128
Umbrello::PluginLoader::categories
const CategoryMap & categories() const
Definition: pluginloader.cpp:149
Umbrello::Plugin::category
virtual QString category()
Definition: plugin.cpp:159
Umbrello::PluginLoader::_instance
static PluginLoader * _instance
Singleton instance.
Definition: pluginloader.h:126
Umbrello::PluginLoader::slotDestroyed
void slotDestroyed(QObject *obj)
Definition: pluginloader.cpp:155
Umbrello::Plugin
Definition: plugin.h:90
Umbrello::PluginLoader::~PluginLoader
~PluginLoader()
Definition: pluginloader.cpp:44
MyProject\connect
connect()
Definition: namespaces-multiple.php:5
Umbrello::PluginLoader::PluginMap
QMap< QString, Plugin * > PluginMap
Definition: pluginloader.h:79
Umbrello::Plugin::init
bool init()
Definition: plugin.cpp:71
Umbrello::PluginLoader::loadPlugin
Plugin * loadPlugin(const QString &name)
Definition: pluginloader.cpp:56
Umbrello::PluginLoader
Definition: pluginloader.h:67
Umbrello::PluginLoader::CategoryMap
QMap< QString, PluginList > CategoryMap
Definition: pluginloader.h:82
pluginloader.h
Umbrello::PluginLoader::plugins
const PluginMap & plugins() const
Definition: pluginloader.cpp:143
Umbrello::PluginLoader::PluginList
Q3ValueList< Plugin * > PluginList
Definition: pluginloader.h:76
Umbrello::PluginLoader::instance
static PluginLoader * instance()
Definition: pluginloader.cpp:49