ResidualVM logo ResidualVM website - Forums - Contact us BuildBot - Doxygen - Wiki curved edge

Singleton class which manages all plugins, including loading them, managing all Plugin class instances, and unloading them. More...

#include <plugins.h>

Inheritance diagram for PluginManager:
Collaboration diagram for PluginManager:

List of all members.

Public Member Functions

virtual ~PluginManager ()
void addPluginProvider (PluginProvider *pp)
virtual void init ()
virtual void loadFirstPlugin ()
virtual bool loadNextPlugin ()
virtual bool loadPluginFromGameId (const Common::String &gameId)
virtual void updateConfigWithFileName (const Common::String &gameId)
virtual void loadAllPlugins ()
 Used by only the cached plugin manager.
virtual void loadAllPluginsOfType (PluginType type)
void unloadAllPlugins ()
void unloadPluginsExcept (PluginType type, const Plugin *plugin, bool deletePlugin=true)
const PluginListgetPlugins (PluginType t)

Static Public Member Functions

static void destroy ()
static PluginManagerinstance ()

Protected Types

typedef Common::Array
< PluginProvider * > 
ProviderList

Protected Member Functions

bool tryLoadPlugin (Plugin *plugin)
void addToPluginsInMemList (Plugin *plugin)
 Add to the list of plugins loaded in memory.
 PluginManager ()

Protected Attributes

PluginList _pluginsInMem [PLUGIN_TYPE_MAX]
ProviderList _providers

Static Protected Attributes

static PluginManager_instance = NULL

Detailed Description

Singleton class which manages all plugins, including loading them, managing all Plugin class instances, and unloading them.

Definition at line 293 of file plugins.h.


Member Typedef Documentation

Definition at line 295 of file plugins.h.


Constructor & Destructor Documentation

PluginManager::PluginManager (  )  [protected]

Definition at line 234 of file plugins.cpp.

PluginManager::~PluginManager (  )  [virtual]

Definition at line 239 of file plugins.cpp.


Member Function Documentation

void PluginManager::addPluginProvider ( PluginProvider pp  ) 

Definition at line 251 of file plugins.cpp.

void PluginManager::addToPluginsInMemList ( Plugin plugin  )  [protected]

Add to the list of plugins loaded in memory.

Definition at line 448 of file plugins.cpp.

static void PluginManager::destroy (  )  [inline, static]

Definition at line 309 of file plugins.h.

const PluginList& PluginManager::getPlugins ( PluginType  t  )  [inline]

Definition at line 328 of file plugins.h.

virtual void PluginManager::init (  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 315 of file plugins.h.

PluginManager & PluginManager::instance (  )  [static]

Definition at line 222 of file plugins.cpp.

void PluginManager::loadAllPlugins (  )  [virtual]

Used by only the cached plugin manager.

The uncached manager can only have one plugin in memory at a time.

Reimplemented in PluginManagerUncached.

Definition at line 374 of file plugins.cpp.

void PluginManager::loadAllPluginsOfType ( PluginType  type  )  [virtual]

Reimplemented in PluginManagerUncached.

Definition at line 383 of file plugins.cpp.

virtual void PluginManager::loadFirstPlugin (  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 316 of file plugins.h.

virtual bool PluginManager::loadNextPlugin (  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 317 of file plugins.h.

virtual bool PluginManager::loadPluginFromGameId ( const Common::String gameId  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 318 of file plugins.h.

bool PluginManager::tryLoadPlugin ( Plugin plugin  )  [protected]

Definition at line 432 of file plugins.cpp.

void PluginManager::unloadAllPlugins (  ) 

Definition at line 407 of file plugins.cpp.

void PluginManager::unloadPluginsExcept ( PluginType  type,
const Plugin plugin,
bool  deletePlugin = true 
)

Definition at line 412 of file plugins.cpp.

virtual void PluginManager::updateConfigWithFileName ( const Common::String gameId  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 319 of file plugins.h.


Member Data Documentation

PluginManager * PluginManager::_instance = NULL [static, protected]

Definition at line 303 of file plugins.h.

PluginList PluginManager::_pluginsInMem[PLUGIN_TYPE_MAX] [protected]

Definition at line 297 of file plugins.h.

Definition at line 298 of file plugins.h.


The documentation for this class was generated from the following files:


Generated on Sat Jul 20 2019 05:02:16 for ResidualVM by doxygen 1.7.1
curved edge   curved edge