Sirikata
|
PluginManager handles loading and unloading plugins, directory searching, and reference counts. More...
#include <PluginManager.hpp>
Classes | |
struct | PluginInfo |
Public Member Functions | |
PluginManager () | |
~PluginManager () | |
void | searchPath (const String &path) |
Search the given path for new plugins, automatically loading and initializing them. | |
void | load (const String &name) |
Load the plugin with the given name. | |
void | loadList (const String &name_list) |
Load all plugins in a comma separated list of plugin names. | |
void | gc () |
Perform garbage collection on plugins, unloading any currently unused plugins. | |
Private Types | |
typedef std::list< PluginInfo * > | PluginInfoList |
Private Attributes | |
PluginInfoList | mPlugins |
PluginManager handles loading and unloading plugins, directory searching, and reference counts.
typedef std::list<PluginInfo*> Sirikata::PluginManager::PluginInfoList [private] |
Sirikata::PluginManager::PluginManager | ( | ) |
void Sirikata::PluginManager::gc | ( | ) |
Perform garbage collection on plugins, unloading any currently unused plugins.
References mPlugins, and Sirikata::PluginManager::PluginInfo::plugin.
Referenced by ~PluginManager().
void Sirikata::PluginManager::load | ( | const String & | name | ) |
Load the plugin with the given name.
Note that this name does not include platform-specific naming, i.e. it should be plugin not libplugin.so.
References Sirikata::PluginManager::PluginInfo::filename, Sirikata::DynamicLibrary::filename(), Sirikata::Plugin::initialize(), Sirikata::Plugin::load(), mPlugins, Sirikata::Plugin::name(), Sirikata::PluginManager::PluginInfo::name, and Sirikata::PluginManager::PluginInfo::plugin.
Referenced by loadList(), and searchPath().
void Sirikata::PluginManager::loadList | ( | const String & | name_list | ) |
void Sirikata::PluginManager::searchPath | ( | const String & | path | ) |
Search the given path for new plugins, automatically loading and initializing them.
References load().
Referenced by gc(), load(), and ~PluginManager().