Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csPluginManager Class Reference

This is the standard implementation of the plugin manager. More...

#include <plugmgr.h>

Inheritance diagram for csPluginManager:

iPluginManager iBase List of all members.

Public Methods

 csPluginManager (iObjectRegistry *object_reg)
 Initialize plugin manager.

virtual ~csPluginManager ()
 Destruct.

virtual iBaseLoadPlugin (const char *iClassID, const char *iInterface=NULL, int iVersion=0)
 Load a plugin and initialize it.

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

virtual iBaseQueryPlugin (const char *iClassID, const char *iInterface, int iVersion)
 Find a plugin given his class ID.

virtual bool UnloadPlugin (iComponent *iObject)
 Remove a plugin from system driver's plugin list.

virtual bool RegisterPlugin (const char *iClassID, iComponent *iObject)
 Register a object that implements the iComponent interface as a plugin.

virtual int GetPluginCount ()
 Get the number of loaded plugins in the plugin manager.

virtual iBaseGetPlugin (int idx)
 Get the specified plugin from the plugin manager.

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


Public Attributes

 SCF_DECLARE_IBASE

Detailed Description

This is the standard implementation of the plugin manager.


Member Function Documentation

virtual iBase* csPluginManager::QueryPlugin ( const char * iInterface,
int iVersion ) [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.

Reimplemented from iPluginManager.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000