IKernelLoader Class Reference

This class allows an OpenViBE application to load a kernel module. More...

Inheritance diagram for IKernelLoader:
IObject

List of all members.

Public Member Functions

virtual OpenViBE::boolean load (const OpenViBE::CString &sFileName, OpenViBE::CString *pError=NULL)=0
 Loads a kernel DLL/so file.
virtual OpenViBE::boolean unload (OpenViBE::CString *pError=NULL)=0
 Unloads a loaded kernel DLL/so file.
virtual OpenViBE::boolean initialize (void)=0
 Requests the kernel DLL/so file to self initialize.
virtual OpenViBE::boolean getKernelDesc (OpenViBE::Kernel::IKernelDesc *&rpKernelDesc)=0
 Gets the kernel description of the loaded kernel DLL/so file.
virtual OpenViBE::boolean uninitialize (void)=0
 Uninitializes a loaded and initialized kernel DLL/so file.

Detailed Description

This class allows an OpenViBE application to load a kernel module.

Author:
Yann Renard (INRIA/IRISA)
Date:
2006-09-26 This class allows an OpenViBE application to load a kernel module. The application should first load the DLL/so file and initialize it. Then it is able to get a kernel descriptor and to build its own kernel to use. The kernel DLL/so file should be freed thanks to the unintialization and unload methods.
See also:
OpenViBE::Kernel::IKernel
OpenViBE::Kernel::IKernelDesc

Member Function Documentation

virtual OpenViBE::boolean load ( const OpenViBE::CString sFileName,
OpenViBE::CString pError = NULL 
) [pure virtual]

Loads a kernel DLL/so file.

Parameters:
sFileName[in] : the filename to load
pError[out] : an optional error string to get when loading fails
Returns:
true on success.
false on error.
virtual OpenViBE::boolean unload ( OpenViBE::CString pError = NULL) [pure virtual]

Unloads a loaded kernel DLL/so file.

Returns:
true on success.
false on error.
Warning:
load must have been called successfully before calling unload
virtual OpenViBE::boolean initialize ( void  ) [pure virtual]

Requests the kernel DLL/so file to self initialize.

Returns:
true on success.
false on error.
Warning:
load must have been called successfully before calling initialize

Calling this function results in calling the onInitialize global function of the kernel DLL/so file. See section Doc_CreatingNewKernel to get a full description of how a kernel is loaded / used.

virtual OpenViBE::boolean getKernelDesc ( OpenViBE::Kernel::IKernelDesc *&  rpKernelDesc) [pure virtual]

Gets the kernel description of the loaded kernel DLL/so file.

Parameters:
rpKernelDesc[out] : a pointer to the kernel description
Returns:
true on success.
false on error.
Warning:
both load and initialize must have been called successfully before calling getKernelDesc
virtual OpenViBE::boolean uninitialize ( void  ) [pure virtual]

Uninitializes a loaded and initialized kernel DLL/so file.

Returns:
true on success.
false on error.
Warning:
both load and initialize must have been called successfully before calling getKernelDesc