diff options
author | Max Horn | 2003-10-08 22:10:59 +0000 |
---|---|---|
committer | Max Horn | 2003-10-08 22:10:59 +0000 |
commit | 6e09d35090ab1fa600c5fe1e2f2006ffb0e9c131 (patch) | |
tree | c13a909e2c682464735c09ef81f4adbb923c6115 /base/plugins.h | |
parent | d1773647159f9ef1393d7a1d33204de5886edce5 (diff) | |
download | scummvm-rg350-6e09d35090ab1fa600c5fe1e2f2006ffb0e9c131.tar.gz scummvm-rg350-6e09d35090ab1fa600c5fe1e2f2006ffb0e9c131.tar.bz2 scummvm-rg350-6e09d35090ab1fa600c5fe1e2f2006ffb0e9c131.zip |
turned PluginManager into a proper singleton
svn-id: r10688
Diffstat (limited to 'base/plugins.h')
-rw-r--r-- | base/plugins.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/base/plugins.h b/base/plugins.h index a463861c7b..3e989f66b4 100644 --- a/base/plugins.h +++ b/base/plugins.h @@ -24,6 +24,7 @@ #define COMMON_PLUGINS_H #include "common/list.h" +#include "common/singleton.h" class Engine; class GameDetector; @@ -84,25 +85,22 @@ typedef Common::List<Plugin *> PluginList; * * @todo Add support for dynamic plugins (this may need additional API, e.g. for a plugin path) */ -class PluginManager { -protected: +using Common::Singleton; +class PluginManager : public Singleton<PluginManager> { +private: PluginList _plugins; bool tryLoadPlugin(Plugin *plugin); -public: + friend class Singleton<PluginManager>; PluginManager(); ~PluginManager(); +public: void loadPlugins(); void unloadPlugins(); const PluginList &getPlugins() { return _plugins; } }; -/** - * Global, shared plugin manager. - */ -extern PluginManager *g_pluginManager; - #endif |