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 237 of file plugins.cpp.

PluginManager::~PluginManager (  )  [virtual]

Definition at line 242 of file plugins.cpp.


Member Function Documentation

void PluginManager::addPluginProvider ( PluginProvider pp  ) 

Definition at line 254 of file plugins.cpp.

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

Add to the list of plugins loaded in memory.

Definition at line 454 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 225 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 380 of file plugins.cpp.

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

Reimplemented in PluginManagerUncached.

Definition at line 389 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 438 of file plugins.cpp.

void PluginManager::unloadAllPlugins (  ) 

Definition at line 413 of file plugins.cpp.

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

Definition at line 418 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 Sep 19 2020 05:04:09 for ResidualVM by doxygen 1.7.1
curved edge   curved edge