|  | 
|  | Plugin () | 
|  | 
| virtual | ~Plugin () | 
|  | 
| virtual const String & | getName () const =0 | 
|  | Get the name of the plugin. 
 | 
|  | 
| virtual void | initialise ()=0 | 
|  | Perform any tasks the plugin needs to perform on full system initialisation. 
 | 
|  | 
| virtual void | install ()=0 | 
|  | Perform the plugin initial installation sequence. 
 | 
|  | 
| void | operator delete (void *ptr) | 
|  | 
| void | operator delete (void *ptr, const char *, int, const char *) | 
|  | 
| void | operator delete (void *ptr, void *) | 
|  | 
| void | operator delete[] (void *ptr) | 
|  | 
| void | operator delete[] (void *ptr, const char *, int, const char *) | 
|  | 
| void * | operator new (size_t sz) | 
|  | 
| void * | operator new (size_t sz, const char *file, int line, const char *func) | 
|  | operator new, with debug line info 
 | 
|  | 
| void * | operator new (size_t sz, void *ptr) | 
|  | placement operator new 
 | 
|  | 
| void * | operator new[] (size_t sz) | 
|  | 
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) | 
|  | array operator new, with debug line info 
 | 
|  | 
| virtual void | shutdown ()=0 | 
|  | Perform any tasks the plugin needs to perform when the system is shut down. 
 | 
|  | 
| virtual void | uninstall ()=0 | 
|  | Perform the final plugin uninstallation sequence. 
 | 
|  | 
Class defining a generic OGRE plugin. 
- Plugins can be linked statically or dynamically. If they are linked dynamically (ie the plugin is in a DLL or Shared Object file), then you load the plugin by calling the Root::loadPlugin method (or some other mechanism which leads to that call, e.g. plugins.cfg), passing the name of the DLL. OGRE will then call a global init function on that DLL, and it will be expected to register one or more Plugin implementations using Root::installPlugin. The procedure is very similar if you use a static linked plugin, except that you simply instantiate the Plugin implementation yourself and pass it to Root::installPlugin. 
- Note
- Lifecycle of a Plugin instance is very important. The Plugin instance must remain valid until the Plugin is uninstalled. Here are the things you must bear in mind: 
- 
If your plugin is in a DLL: 
- 
If your plugin is statically linked in your app: 
 The install and uninstall methods will be called when the plugin is installed or uninstalled. The initialise and shutdown will be called when there is a system initialisation or shutdown, e.g. when Root::initialise or Root::shutdown are called.