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 loadPluginFromEngineId (const Common::String &engineId)
virtual void updateConfigWithFileName (const Common::String &engineId)
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 238 of file plugins.cpp.

PluginManager::~PluginManager (  )  [virtual]

Definition at line 243 of file plugins.cpp.


Member Function Documentation

void PluginManager::addPluginProvider ( PluginProvider pp  ) 

Definition at line 255 of file plugins.cpp.

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

Add to the list of plugins loaded in memory.

Definition at line 455 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 226 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 381 of file plugins.cpp.

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

Reimplemented in PluginManagerUncached.

Definition at line 390 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::loadPluginFromEngineId ( const Common::String engineId  )  [inline, virtual]

Reimplemented in PluginManagerUncached.

Definition at line 318 of file plugins.h.

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

Definition at line 439 of file plugins.cpp.

void PluginManager::unloadAllPlugins (  ) 

Definition at line 414 of file plugins.cpp.

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

Definition at line 419 of file plugins.cpp.

virtual void PluginManager::updateConfigWithFileName ( const Common::String engineId  )  [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 May 30 2020 05:02:26 for ResidualVM by doxygen 1.7.1
curved edge   curved edge