Sirikata
Classes | Public Member Functions | Private Types | Private Attributes
Sirikata::PluginManager Class Reference

PluginManager handles loading and unloading plugins, directory searching, and reference counts. More...

#include <PluginManager.hpp>

Collaboration diagram for Sirikata::PluginManager:

List of all members.

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

Detailed Description

PluginManager handles loading and unloading plugins, directory searching, and reference counts.


Member Typedef Documentation

typedef std::list<PluginInfo*> Sirikata::PluginManager::PluginInfoList [private]

Constructor & Destructor Documentation

Sirikata::PluginManager::PluginManager ( )
Sirikata::PluginManager::~PluginManager ( )

References gc(), and mPlugins.


Member Function Documentation

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)

Load all plugins in a comma separated list of plugin names.

References load().

Referenced by main().

void Sirikata::PluginManager::searchPath ( const String &  path)

Search the given path for new plugins, automatically loading and initializing them.

References load().


Member Data Documentation

Referenced by gc(), load(), and ~PluginManager().


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