## Public API Reference

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

- File List
- File Members

# iutil/plugin.h File Reference

Plugin manager interface. More...

`#include "csutil/scf.h"`

Go to the source code of this file.

## Classes

struct | iPluginIterator
| An iterator to iterate over all plugins in the plugin manager. More...
struct | iPluginManager
| This is the plugin manager. More...

## Defines

#define | CS_LOAD_PLUGIN(Object, ClassID, Interface) csLoadPlugin<Interface> (Object, ClassID)
#define | CS_LOAD_PLUGIN_ALWAYS(Object, ClassID) csLoadPluginAlways (Object, ClassID)
#define | CS_QUERY_PLUGIN_CLASS(Object, ClassID, Interface) csQueryPluginClass<Interface> (Object, ClassID)
| Compatbility macro.
#define | CS_QUERY_REGISTRY_PLUGIN(obj, object_reg, scf_id, interface)
| Use this macro to query the object registry, loading a plugin if needed.

## Functions

template<class Interface>
csPtr< Interface > | csLoadPlugin (iPluginManager *mgr, const char *ClassID)
| Tell plugin manager to load a plugin.
csPtr< iBase > | csLoadPluginAlways (iPluginManager *mgr, const char *ClassID)
| Same as csLoadPlugin() but does not bother asking for a interface.
template<class Interface>
csPtr< Interface > | csQueryPluginClass (iPluginManager *mgr, const char *ClassID)
| Find a plugin by its class ID.

## Detailed Description

Plugin manager interface.

Definition in file plugin.h.