CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

iPluginManager Struct Reference
[Shared Class Facility (SCF)]

This is the plugin manager. More...

#include <plugin.h>

Inheritance diagram for iPluginManager:

iBase csPluginManager List of all members.

Public Methods

virtual iBaseLoadPlugin (const char *classID, const char *iInterface=NULL, int iVersion=0, bool init=true)=0
 Load a plugin and (optionally) initialize it. More...

virtual iBaseQueryPlugin (const char *iInterface, int iVersion)=0
 Get first of the loaded plugins that supports given interface ID. More...

virtual iBaseQueryPlugin (const char *classID, const char *iInterface, int iVersion)=0
 Find a plugin given his class ID. More...

virtual bool UnloadPlugin (iComponent *obj)=0
 Remove a plugin from system driver's plugin list. More...

virtual bool RegisterPlugin (const char *classID, iComponent *obj)=0
 Register a object that implements the iComponent interface as a plugin. More...

virtual csPtr< iPluginIteratorGetPlugins ()=0
 Get an iterator to iterate over all loaded plugins in the plugin manager. More...

virtual void Clear ()=0
 Unload all plugins from this plugin manager. More...


Detailed Description

This is the plugin manager.

The plugin manager is guaranteed thread-safe.

Definition at line 81 of file plugin.h.


Member Function Documentation

virtual void iPluginManager::Clear   [pure virtual]
 

Unload all plugins from this plugin manager.

Implemented in csPluginManager.

virtual csPtr<iPluginIterator> iPluginManager::GetPlugins   [pure virtual]
 

Get an iterator to iterate over all loaded plugins in the plugin manager.

This iterator will contain a copy of the plugins so it will not lock the plugin manager while looping over the plugins.

Implemented in csPluginManager.

virtual iBase* iPluginManager::LoadPlugin const char *    classID,
const char *    iInterface = NULL,
int    iVersion = 0,
bool    init = true
[pure virtual]
 

Load a plugin and (optionally) initialize it.

Implemented in csPluginManager.

virtual iBase* iPluginManager::QueryPlugin const char *    classID,
const char *    iInterface,
int    iVersion
[pure virtual]
 

Find a plugin given his class ID.

Implemented in csPluginManager.

virtual iBase* iPluginManager::QueryPlugin const char *    iInterface,
int    iVersion
[pure virtual]
 

Get first of the loaded plugins that supports given interface ID.

Warning! Usage of this function is usually not safe since multiple plugins can implement the same interface and there is no way to know which one is the correct one. It is better to use the object registry to find about single loaded components.

Implemented in csPluginManager.

virtual bool iPluginManager::RegisterPlugin const char *    classID,
iComponent   obj
[pure virtual]
 

Register a object that implements the iComponent interface as a plugin.

Implemented in csPluginManager.

virtual bool iPluginManager::UnloadPlugin iComponent   obj [pure virtual]
 

Remove a plugin from system driver's plugin list.

Implemented in csPluginManager.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14