| ## 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"`
`#include "iutil/objreg.h"`
`#include "ivaria/reporter.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.
## Functions
template<class Interface>
csPtr< Interface > | csLoadPlugin (iObjectRegistry *object_reg, const char *ClassID)
| Tell plugin manager to load a plugin.
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 > | csLoadPluginCheck (iObjectRegistry *object_reg, const char *ClassID, bool report=true)
| Tell plugin manager to load a plugin but first check if the plugin is not already loaded.
template<class Interface>
csPtr< Interface > | csLoadPluginCheck (iPluginManager *mgr, const char *ClassID)
| Tell plugin manager to load a plugin but first check if the plugin is not already loaded.
template<class Interface>
csPtr< Interface > | csQueryPluginClass (iPluginManager *mgr, const char *ClassID)
| Find a plugin by its class ID.
template<class Interface>
csPtr< Interface > | csQueryRegistryOrLoad (iObjectRegistry *Reg, const char *classID, bool report=true)
| Use this macro to query the object registry, loading a plugin if needed.

## Detailed Description

Plugin manager interface.

Definition in file plugin.h.