The abstract base class for plugins. More...
Public Member Functions | |
virtual Sint32 | get_plugin_system_version () const |
Returns the version of the plugin system used to compile this. More... |
|
virtual const char * | get_name () const =0 |
Returns the name of the plugin. More... |
|
virtual const char * | get_type () const =0 |
Returns the type of the plugin. More... |
|
virtual Sint32 | get_version () const |
Returns the version number of the plugin. More... |
|
virtual const char * | get_compiler () const |
Returns the compiler used to compile the plugin. More... |
|
virtual void | release ()=0 |
Destroys the plugin instance. More... |
|
virtual const char * | get_string_property (Sint32 index, const char **value) |
Returns a plugin property. More... |
|
The abstract base class for plugins.
Every plugin must be derived from this class. It provides some virtual functions which can be used to get information about the plugin. The get_type() function is used to be able to have different classes which are derived from mi::base::Plugin and provide different interfaces in addition to the interface defined by mi::base::Plugin.
|
inlinevirtual |
Returns the compiler used to compile the plugin.
|
pure virtual |
Returns the name of the plugin.
|
inlinevirtual |
Returns the version of the plugin system used to compile this.
This can be useful when the plugin system is extended/changed at some point to be able to still support older plugins or at least to reject them. The only thing which must not be changed is that the first virtual function is this one.
|
inlinevirtual |
Returns a plugin property.
Plugin properties are represented as key-value pairs. The caller can iterate over all such existing pairs by calling with indexes starting at 0 and increasing by 1 until the call returns 0.
index | The index to query. |
value | The property value for index . |
index
.
|
pure virtual |
Returns the type of the plugin.
See the documentation of derived interfaces for possible values.
|
inlinevirtual |
Returns the version number of the plugin.
|
pure virtual |
Destroys the plugin instance.
This method should not be confused with mi::base::IInterface::release() which decrements the reference count. Plugins are not reference counted and this method here rather destroys the plugin instance.