turned PluginManager into a proper singleton

svn-id: r10688
This commit is contained in:
Max Horn 2003-10-08 22:10:59 +00:00
parent d177364715
commit 6e09d35090
6 changed files with 10 additions and 21 deletions

View file

@ -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