|
| 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.