| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csPluginManager Class Reference

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

`#include <csutil/plugmgr.h>`

Inheritance diagram for csPluginManager:

[legend]
List of all members.

## Public Member Functions
virtual void | Clear ()
| Unload all plugins from this plugin manager.
| csPluginManager (iObjectRegistry *object_reg)
| Initialize plugin manager.
virtual csPtr< iPluginIterator > | GetPlugins ()
| Get an iterator to iterate over all plugins.
virtual iBase * | LoadPlugin (const char *iClassID, bool init=true)
| Load a plugin and (optionally) initialize it.
virtual void | QueryOptions (iComponent *iObject)
| Query all options supported by given plugin and place into OptionList.
virtual iBase * | QueryPlugin (const char *iClassID, const char *iInterface, int iVersion)
| Find a plugin given his class ID.
virtual iBase * | QueryPlugin (const char *iInterface, int iVersion)
| Get first of the loaded plugins that supports given interface ID.
virtual bool | RegisterPlugin (const char *iClassID, iComponent *iObject)
| Register a object that implements the iComponent interface as a plugin.
virtual bool | UnloadPlugin (iComponent *iObject)
| Remove a plugin from system driver's plugin list.
virtual | ~csPluginManager ()
| Destruct.

## Detailed Description

This is the standard implementation of the plugin manager.

The plugin manager is thread-safe.

Definition at line 41 of file plugmgr.h.

## Constructor & Destructor Documentation

csPluginManager::csPluginManager | ( | iObjectRegistry * | object_reg | ) |

Initialize plugin manager.

virtual csPluginManager::~csPluginManager | ( |  | ) | `[virtual]`

Destruct.

## Member Function Documentation

virtual void csPluginManager::Clear | ( |  | ) | `[virtual]`

Unload all plugins from this plugin manager.

Implements iPluginManager.

virtual csPtr<iPluginIterator> csPluginManager::GetPlugins | ( |  | ) | `[virtual]`

Get an iterator to iterate over all plugins.

Implements iPluginManager.

virtual iBase* csPluginManager::LoadPlugin | ( | const char * | iClassID,
|  | bool | init = `true` |
| ) |  |  | `[virtual]`

Load a plugin and (optionally) initialize it.

Implements iPluginManager.

virtual void csPluginManager::QueryOptions | ( | iComponent * | iObject | ) | `[virtual]`

Query all options supported by given plugin and place into OptionList.

Implements iPluginManager.

virtual iBase* csPluginManager::QueryPlugin | ( | const char * | iClassID,
|  | const char * | iInterface,
|  | int | iVersion |
| ) |  |  | `[virtual]`

Find a plugin given his class ID.

Implements iPluginManager.

virtual iBase* csPluginManager::QueryPlugin | ( | const char * | iInterface,
|  | int | iVersion |
| ) |  |  | `[virtual]`

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

Implements iPluginManager.

virtual bool csPluginManager::RegisterPlugin | ( | const char * | iClassID,
|  | iComponent * | iObject |
| ) |  |  | `[virtual]`

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

Implements iPluginManager.

virtual bool csPluginManager::UnloadPlugin | ( | iComponent * | iObject | ) | `[virtual]`

Remove a plugin from system driver's plugin list.

Implements iPluginManager.

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

- csutil/plugmgr.h