IPluginModule Class Referenceabstract

Plugin module. More...

Inherits IKernelObject.

Inherited by TKernelObject< OpenViBE::Kernel::IPluginModule >.

Public Member Functions

virtual OpenViBE::boolean load (const OpenViBE::CString &sName, OpenViBE::CString *pError=NULL)=0
 Tries to load a file as an OpenViBE module. More...
 
virtual OpenViBE::boolean unload (OpenViBE::CString *pError=NULL)=0
 Tries to unload the loaded OpenViBE module. More...
 
virtual OpenViBE::boolean getFileName (OpenViBE::CString &rFileName) const =0
 Gets the current filename associated with this plugin module. More...
 
virtual OpenViBE::boolean initialize (void)=0
 Initializes this plugin module. More...
 
virtual OpenViBE::boolean getPluginObjectDescription (OpenViBE::uint32 ui32Index, OpenViBE::Plugins::IPluginObjectDesc *&rpPluginObjectDescription)=0
 Gets a specific plugin object descriptor. More...
 
virtual OpenViBE::boolean uninitialize (void)=0
 Uninitializes this plugin module. More...
 

Detailed Description

Plugin module.

Author
Yann Renard (INRIA/IRISA)
Date
2006-09-26

Each plugin module is exactly responsible for one module (ie DLL/so file) containing OpenViBE plugins. It is able to load/unload this file and to enumerate each of its plugin object descriptor.

Member Function Documentation

virtual OpenViBE::boolean load ( const OpenViBE::CString sName,
OpenViBE::CString pError = NULL 
)
pure virtual

Tries to load a file as an OpenViBE module.

Parameters
sName[in] : the name of the file to try to load
pError[out] : an optional output string containing the error on load failure
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean unload ( OpenViBE::CString pError = NULL)
pure virtual

Tries to unload the loaded OpenViBE module.

Parameters
pError[out] : an optional output string containing the error on unload failure
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean getFileName ( OpenViBE::CString rFileName) const
pure virtual

Gets the current filename associated with this plugin module.

Parameters
rFileName[out] : the filename of this plugin module
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean initialize ( void  )
pure virtual

Initializes this plugin module.

Returns
true in case of success.
false in case of error.

This function calls the onInitialize main function of the plugin module.

virtual OpenViBE::boolean getPluginObjectDescription ( OpenViBE::uint32  ui32Index,
OpenViBE::Plugins::IPluginObjectDesc *&  rpPluginObjectDescription 
)
pure virtual

Gets a specific plugin object descriptor.

Parameters
ui32Index[in] : the index of the plugin object descriptor to get
rpPluginObjectDescription[out] : a pointer on the associated plugin object descriptor
Returns
true in case of success.
false in case of error.

This function should be called with ui32Index ranging from 0 to the number of plugin object descriptor - 1. The number of plugin object descriptor is known as soon as this function returns false meaning there are no more descriptors to return.

This function calls the onGetPluginObjectDescription main function of the plugin module.

Note
rpPluginObjectDescription can be NULL even if the function returned true
rpPluginObjectDescription IS NULL if the function returned false
It is ok to call this function several times for a same index.
virtual OpenViBE::boolean uninitialize ( void  )
pure virtual

Uninitializes this plugin module.

Returns
true in case of success.
false in case of error.

This function calls the onUninitialize main function of the plugin module.