IKernelLoader Class Referenceabstract

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

Inheritance diagram for IKernelLoader:
IObject

Public Member Functions

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

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