OpenViBE::Kernel Namespace Reference

Kernel specifications of the OpenViBE platform. More...

Classes

class  CErrorManager
 Error manager kernel default implementation. More...
 
class  IAlgorithmContext
 Exectution context for algorithm objects. More...
 
class  IAlgorithmManager
 Manager for all kind of plugin algorithms. More...
 
class  IAlgorithmProto
 Prototype interface for algorithm. More...
 
class  IAlgorithmProxy
 Application interface to an algorithm plugin. More...
 
class  IAttributable
 
class  IBox
 Complete OpenViBE box interfaceThis interface can be used in order to fully describe an OpenViBE black box. It describes its identification values, its inputs, its outputs and its settings. More...
 
class  IBoxAlgorithmContext
 Specific context to use for box algorithm pluginsThis 'context' is given by the player to an algorithm plugin so it has all the necessary tools to work. This algorithm context mainly consists in getting other contexts which could be defined and used more generically (such as the box interface or a global player interface for example). More...
 
class  IBoxIO
 Main OpenViBE box interface to communicate with the kernelThis context allows the object which uses it to check inputs states, read them, write outputs while being in a dynamic context (used by player). More...
 
class  IBoxListenerContext
 Exectution context for box algorithm descriptors. More...
 
class  IBoxProto
 OpenViBE box prototypeThis class is used by a plugin algorithm descriptor to let the OpenViBE platform know what an algorithm box looks like. It declares several things, like it input types, output types and settings. More...
 
class  IComment
 A comment class for scenariosThis interface can be used in order to fully describe an OpenViBE comment in order to help the understanding of a given scenario. More...
 
class  IConfigurable
 Configurable object interface. More...
 
class  IConfigurationKeywordExpandCallback
 Callback used for overriding a keyword in IConfigurationManager. More...
 
class  IConfigurationManager
 Manager for all kind of configuration. More...
 
class  IError
 Interface for Kernel error implementationIError interface aims at providing information about an error occurring in the framework. One specific concept here is the notion of nested errors. In a call stack, it can be interesting to catch a n-1 level error and enhance it instead of rethrowing it directy unchanged. In this case, we say the level n-1 error is nested into the level n error. More...
 
class  IErrorManager
 Interface for Kernel error handler implementationThis manager is reponsible for handling errors in the framework. Errors in the framework are considered as not acceptable behavior that can be detected and handled by the system. The concept of error is thus independant of warning or fatal crashes that must be handled separately. More...
 
class  IKernelContext
 Kernel context interface, gives access to each manager the kernel owns. More...
 
class  IKernelDesc
 A kernel description. More...
 
class  IKernelObject
 Base class for all kernel objects. More...
 
class  IKernelObjectFactory
 Kernel object factory, creates all kernel objects. More...
 
class  ILink
 Link information between OpenViBE boxThis class collects informations between OpenViBE boxes : box identifiers and input / output indices. More...
 
class  ILogListener
 Log manager's listener interface. More...
 
class  ILogManager
 Log manager. More...
 
class  IMessage
 Base message class. More...
 
class  IMessageClock
 Clock message. More...
 
class  IMessageEvent
 Event message. More...
 
class  IMessageSignal
 Signal message. More...
 
class  IMetaboxManager
 Metabox manager. More...
 
class  IMetadata
 Metadata class for scenarios. More...
 
class  IObjectVisitorContext
 Exectution context for visitor objects. More...
 
class  IParameter
 Generic parameter handler for configurable objects. More...
 
class  IPlayer
 The main player classA player is responsible for the playback of a specific scenario. This player scenario is provided at initialisation stage and should not be changed until the player terminates. The player idea of calling a "play" function forces the use of threads in order to avoid CPU locking. Thus we prefer the idea of having a "short-time" function that is to be called repeatedly until the player terminates. This is the role of the IPlayer::loop function, that should be called repeatedly by the outside application. More...
 
class  IPlayerContext
 Player interface for plugin objectsInstances of this class are given to plugin object so they can communicate with the platform kernel, providing services such as message sending etc... More...
 
class  IPlayerManager
 The manager responsible for scenario playbackThe player manager is responsible for creating the different player instances. Each player is responsible for the playback of a specific scenario. More...
 
class  IPluginManager
 Log manager. More...
 
class  IPluginModule
 Plugin module. More...
 
class  IPluginModuleContext
 Plugin context. More...
 
class  IScenario
 A static OpenViBE scenarioThis class is a static scenario description. It is used to manipulate an OpenViBE box/connection collection... More...
 
class  IScenarioManager
 The scenario managerThis manager is responsible to organize and handle all the scenarios of the kernel. More...
 
class  IServerExtensionContext
 Static context of a Server Extension object. More...
 
class  IServerExtensionDynamicContext
 Dynamic context of a Server Extension objectThis class contains accessors to data structures made available by the driver running in the Acquisition Server during the acquisition. More...
 
class  IServerExtensionProto
 Prototype interface for a server extension. More...
 
class  ITypeManager
 Type manager, provides information on platform's handled types, parameters, streams etc... More...
 
class  TParameterHandler
 Helper class in order to manipulate IParameter and IParameter values natively. More...
 

Enumerations

Functions

template<class T >
OpenViBE::Kernel::ILogManageroperator<< (OpenViBE::Kernel::ILogManager &rLogManager, const T &rObject)
 Stream output operator. More...
 

Detailed Description

Kernel specifications of the OpenViBE platform.

Author
Yann Renard (INRIA/IRISA)
Date
2006-06 This OpenViBE subnamespace contains the specifications of the kernel classes. Those classes are overloaded by the kernel developpers to implement a complete kernel.

Enumeration Type Documentation

enum ErrorType
strong
Enumerator
NoErrorFound 

Used when no error occurs

Unknown 

Unknown error

Internal 

Used mainly for high-level errors generated by low-level errors

NotImplemented 

Used when the body of an API call is not yet implemented

ExceptionCaught 

Used to report an error related to a c++ expection caught in the system

BadCall 

Used when an API call is incompatible with the current state

BadProcessing 

Used when a processing/computation failed

BadVersion 

Used for plugin or api version mismatch

BadValue 

Used when an entity is given an invalid value

BadArgument 

Used when a function is fed with invalid arguments

BadCast 

Used when a cast failed

OutOfBound 

Used for out of range value (specific case of BadValue/BadArguments)

Overflow 

Used to report arithmetic overflow

BadParsing 

Used to report data parsing error

BadAlloc 

Used when an allocation failed

OutOfMemory 

Used when the system is running out of memory (specific case of BadAlloc)

ResourceNotFound 

Used to report that a resource (logical or physical) was not found

BadResourceCreation 

Used to report that a resource (logical or physical) could not be created

BadFileRead 

Used when opening a file failed

BadFileWrite 

Used when writing to a file failed

BadFileParsing 

Used when reading succeeded but parsing of data within the file failed

BadNetworkConnection 

Used when network connection failed

BadXMLSchemaValidation 

Used when validation of xml files against xsd schema fails

BadConfig 

Used when a given configuration state is erroneous

BadInput 

Used when an input (box, algorithm) is missing, empty or has a wrong value

BadOutput 

Used when an output (box, algorithm) is missing, empty or has a wrong value

BadTrigger 

Used when an algorithm trigger has a wrong value

BadSetting 

Used when a box setting has a wrong value

Parameter type enumeration for a configurable object.

See also
IConfigurable
IParameter
Enumerator
ParameterType_None 

No parameter.

ParameterType_Integer 

Integer parameter, 64bit.

ParameterType_UInteger 

Unsigned integer parameter, 64bit.

ParameterType_Enumeration 

Enumeration integer parameter.

ParameterType_Boolean 

Boolean parameter.

ParameterType_Float 

Float parameter, 64bit.

ParameterType_String 

String parameter.

ParameterType_Identifier 

Identifier parameter.

ParameterType_Matrix 

Matrix pointer parameter.

ParameterType_StimulationSet 

Stimulation set pointer parameter.

ParameterType_MemoryBuffer 

Memory buffer pointer parameter.

ParameterType_Object 

Object pointer parameter.

ParameterType_Pointer 

Raw pointer parameter.

enum EBoxFlag

This enum lists all the flags a box can be have.

See also
OpenViBE::Kernel::IBoxProto::addFlag

This enum lists all the way a box can be modified.

See also
OpenViBE::Plugins::IBoxListener::process

License type enumeration in order to know what software license a plugin can be released with.

Enumerator
LicenseType_Unspecified 

Generic for unspecified license type.

LicenseType_Commercial 

Generic for commercial software.

LicenseType_AFL 

Academic Free License.

LicenseType_AL20 

Apache License, Version 2.0.

LicenseType_ASL 

Apache Software License.

LicenseType_APSL 

Apple Public Source Licenses.

LicenseType_BSD 

BSD License.

LicenseType_CPL 

Common Public License.

LicenseType_CeCILL 

Licence CEA CNRS INRIA Logiciel Libre.

LicenseType_CeCILLB 

Licence CEA CNRS INRIA Logiciel Libre B.

LicenseType_CeCILLC 

Licence CEA CNRS INRIA Logiciel Libre C.

LicenseType_EFL2 

Eiffel Forum License Version 2.0.

LicenseType_GPL 

GNU General Public License.

LicenseType_LGPL 

GNU Lesser General Public License.

LicenseType_IBMPL 

IBM Public License.

LicenseType_IOSL 

Intel Open Source License.

LicenseType_MPL10 

Mozilla Public License Version 1.0.

LicenseType_MPL11 

Mozilla Public License Version 1.1.

LicenseType_NPL10 

Netscape Public License Version 1.0.

LicenseType_NPL11 

Netscape Public License Version 1.1.

LicenseType_OSL 

Open Software License.

LicenseType_PHPL 

PHP License.

LicenseType_PAL 

Perl Artistic License.

LicenseType_CNRIPL 

Python License (CNRI Python License)

LicenseType_PSFL 

Python Software Foundation License.

LicenseType_QPL 

Q Public Licence (QT)

LicenseType_SL 

Sleepycat Software Product License.

LicenseType_SISSL 

Sun Industry Standards Source License.

LicenseType_SPL 

Sun Public License.

LicenseType_W3C 

W3C Software License.

LicenseType_WXWLL 

wxWindows Library License

LicenseType_ZLL 

zlib/libpng License

LicenseType_ZPL 

Zope Public License.

Function Documentation

OpenViBE::Kernel::ILogManager& OpenViBE::Kernel::operator<< ( OpenViBE::Kernel::ILogManager rLogManager,
const T &  rObject 
)

Stream output operator.

Parameters
rLogManager[in] : the log manager that takes the object
rObject[in] : the object to log
Returns
The log manager itself
See also
OpenViBE::Kernel::ILogManager

This function helps in logging different objects thanks to the stream operator. The log manager can almost be used as any std ostream object.

References ILogListener::log().