IPluginObjectDesc Class Referenceabstract

Base class for plugin descriptorThis class is the base class for all the plugin description classes. It contains basic functions that could be used for each plugin description. Derived plugin descriptions will be used as a prototype of what they can create. More...

Inheritance diagram for IPluginObjectDesc:
IObject IAlgorithmDesc IBoxAlgorithmDesc IServerExtensionDesc

Public Member Functions

Memory management
virtual void release (void)=0
 Informs the plugin description it won't be used any more. More...
 
Creation process
virtual OpenViBE::CIdentifier getCreatedClass (void) const =0
 Gives a tip on what this plugin descriptor is able to create. More...
 
virtual OpenViBE::CIdentifier getCreatedClassIdentifier (void) const
 
virtual
OpenViBE::Plugins::IPluginObject
create (void)=0
 Creates the plugin object itself. More...
 
Textual plugin object description and information
virtual OpenViBE::CString getName (void) const
 Gets the plugin name. More...
 
virtual OpenViBE::CString getAuthorName (void) const
 Gets the author name for this plugin. More...
 
virtual OpenViBE::CString getAuthorCompanyName (void) const
 Gets the author company name for this plugin. More...
 
virtual OpenViBE::CString getShortDescription (void) const
 Gets a short description of the plugin. More...
 
virtual OpenViBE::CString getDetailedDescription (void) const
 Gets a detailed description of the plugin. More...
 
virtual OpenViBE::CString getCategory (void) const
 Gets a basic category of the plugin. More...
 
virtual OpenViBE::CString getVersion (void) const
 Gets the version of the plugin. More...
 
virtual OpenViBE::boolean hasFunctionality (OpenViBE::Kernel::EPluginFunctionality ePF) const
 Tests whether the plugin has a given functionality. More...
 
virtual OpenViBE::boolean hasLicenceType (OpenViBE::Kernel::ELicenseType eLT) const
 Tests the licence type for this plugin. More...
 
- Public Member Functions inherited from IObject
virtual OpenViBE::CIdentifier getClassIdentifier (void) const =0
 Returns the final class identifier of the concrete class. More...
 
virtual OpenViBE::boolean isDerivedFromClass (const OpenViBE::CIdentifier &rClassIdentifier) const
 Checks if this object is compatible with a class identifier. More...
 
virtual OpenViBE::boolean acceptVisitor (OpenViBE::IObjectVisitor &rObjectVisitor)
 Requests this object to accept a visitor. More...
 

Detailed Description

Base class for plugin descriptor

This class is the base class for all the plugin description classes. It contains basic functions that could be used for each plugin description. Derived plugin descriptions will be used as a prototype of what they can create.

Author
Yann Renard (INRIA/IRISA)
Date
2006-06-19
See Also
IBoxAlgorithmDesc
IScenarioImporterDesc
IScenarioExporterDesc
IPluginObject
Todo:
details about building new plugins

Member Function Documentation

virtual void release ( void  )
pure virtual

Informs the plugin description it won't be used any more.

This is called by the OpenViBE platform to inform the plugin description it is not useful anymore. The plugin can chose whether to delete itself or to stay in memory until it decides it is ok to be deleted. However, the OpenViBE platform will not call any of the plugin functions after release is called.

virtual OpenViBE::CIdentifier getCreatedClass ( void  ) const
pure virtual

Gives a tip on what this plugin descriptor is able to create.

This may inform the OpenViBE platform about what kind of plugin can be created using this plugin descriptor. It should return the concrete class identifier of the plugin object itself.

virtual OpenViBE::Plugins::IPluginObject* create ( void  )
pure virtual

Creates the plugin object itself.

Returns
the created object.

This method creates the plugin object itself and returns it with the lowest level interface. The OpenVIBE platform then uses the IObject::isDerivedFromClass method to use the plugin correctly.

virtual OpenViBE::CString getName ( void  ) const
inlinevirtual

Gets the plugin name.

Returns
The plugin name.

Default implementation simply returns empty string.

virtual OpenViBE::CString getAuthorName ( void  ) const
inlinevirtual

Gets the author name for this plugin.

Returns
The author name for this plugin.

Default implementation simply returns "no name".

virtual OpenViBE::CString getAuthorCompanyName ( void  ) const
inlinevirtual

Gets the author company name for this plugin.

Returns
The author company name for this plugin.

Default implementation simply returns "unknown".

virtual OpenViBE::CString getShortDescription ( void  ) const
inlinevirtual

Gets a short description of the plugin.

Returns
A short description of the plugin.

Default implementation simply returns "unknown".

virtual OpenViBE::CString getDetailedDescription ( void  ) const
inlinevirtual

Gets a detailed description of the plugin.

Returns
A detailed description of the plugin.

Default implementation simply returns empty string.

Note
You can use std::endl to have the description on several lines when needed.
virtual OpenViBE::CString getCategory ( void  ) const
inlinevirtual

Gets a basic category of the plugin.

Returns
the category tokens of the plugin

The tokens should be separated with '/' characters in order to create sub categories.

Default implementation returns "unknown".

virtual OpenViBE::CString getVersion ( void  ) const
inlinevirtual

Gets the version of the plugin.

Returns
the version of the plugin.

Default implementation simply returns "unknown".

virtual OpenViBE::boolean hasFunctionality ( OpenViBE::Kernel::EPluginFunctionality  ePF) const
inlinevirtual

Tests whether the plugin has a given functionality.

Parameters
ePF[in] : functionality of interest
Returns
true in case plugin has this functionality.
false otherwise.
virtual OpenViBE::boolean hasLicenceType ( OpenViBE::Kernel::ELicenseType  eLT) const
inlinevirtual

Tests the licence type for this plugin.

Parameters
eLT[in] : the licence type that this plugin may have
Returns
true in case this plugin accepts the specified licence.
false in other case

Default implementation returns false .

This function should return the licence which can be used to distribute the plugin. The aim of this functionnality is to be able to quickly warn the user if the usage he is doing for the software is incompatible with the licence the plugin uses. for example, a GPL plugin should not be used in a commercial context.

A plugin may be used under different licences. For this reason, the OpenViBE kernel will loop on this function for each licence type to request.