IPluginModule Class Reference

Plugin module. More...

Inheritance diagram for IPluginModule:
IKernelObject IObject

List of all members.

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.
virtual OpenViBE::boolean unload (OpenViBE::CString *pError=NULL)=0
 Tries to unload the loaded OpenViBE module.
virtual OpenViBE::boolean getFileName (OpenViBE::CString &rFileName) const =0
 Gets the current filename associated with this plugin module.
virtual OpenViBE::boolean initialize (void)=0
 Initializes this plugin module.
virtual OpenViBE::boolean getPluginObjectDescription (OpenViBE::uint32 ui32Index, OpenViBE::Plugins::IPluginObjectDesc *&rpPluginObjectDescription)=0
 Gets a specific plugin object descriptor.
virtual OpenViBE::boolean uninitialize (void)=0
 Uninitializes this plugin module.

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.