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...

Inheritance diagram for IBox:
IAttributable CObservable IKernelObject IObject IScenario

Public Member Functions

virtual OpenViBE::boolean setSupportTypeFromAlgorithmIdentifier (const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Set the supported stream type for input and output according to the restriction of the algorithm whose identifier is given in parameter. More...
 
Box naming and identification
virtual OpenViBE::CIdentifier getIdentifier (void) const =0
 Gets the identifier of this box. More...
 
virtual OpenViBE::CString getName (void) const =0
 Gets the display name of this box. More...
 
virtual OpenViBE::CIdentifier getAlgorithmClassIdentifier (void) const =0
 Gets the algorithm class identifier. More...
 
virtual OpenViBE::boolean setIdentifier (const OpenViBE::CIdentifier &rIdentifier)=0
 Changes the identifier of this box. More...
 
virtual OpenViBE::boolean setName (const OpenViBE::CString &sName)=0
 Renames this box. More...
 
virtual OpenViBE::boolean setAlgorithmClassIdentifier (const OpenViBE::CIdentifier &rAlgorithmClassIdentifier)=0
 Changes the algorithm identifier of this box. More...
 
Initialisation from prototypes etc...
virtual OpenViBE::boolean initializeFromAlgorithmClassIdentifier (const OpenViBE::CIdentifier &rAlgorithmClassIdentifier)=0
 Initializes the box from box algorithm descriptor. More...
 
virtual OpenViBE::boolean initializeFromExistingBox (const OpenViBE::Kernel::IBox &rExistingBox)=0
 Initializes the box from an already existing box. More...
 
Input management
virtual OpenViBE::boolean addInput (const OpenViBE::CString &sName, const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Adds an input to this box. More...
 
virtual OpenViBE::boolean removeInput (const OpenViBE::uint32 ui32InputIndex)=0
 Removes an input for this box. More...
 
virtual OpenViBE::uint32 getInputCount (void) const =0
 Gets the number of inputs for this box. More...
 
virtual OpenViBE::boolean getInputType (const OpenViBE::uint32 ui32InputIndex, OpenViBE::CIdentifier &rTypeIdentifier) const =0
 Gets an input type identifier. More...
 
virtual OpenViBE::boolean getInputName (const OpenViBE::uint32 ui32InputIndex, OpenViBE::CString &rName) const =0
 Gets an input name. More...
 
virtual OpenViBE::boolean setInputType (const OpenViBE::uint32 ui32InputIndex, const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Sets an input type identifier. More...
 
virtual OpenViBE::boolean setInputName (const OpenViBE::uint32 ui32InputIndex, const OpenViBE::CString &rName)=0
 Sets an input name. More...
 
Output management
virtual OpenViBE::boolean addOutput (const OpenViBE::CString &sName, const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Adds an output to this box. More...
 
virtual OpenViBE::boolean removeOutput (const OpenViBE::uint32 ui32OutputIndex)=0
 Removes an output for this box. More...
 
virtual OpenViBE::uint32 getOutputCount (void) const =0
 Gets the number of outputs for this box. More...
 
virtual OpenViBE::boolean getOutputType (const OpenViBE::uint32 ui32OutputIndex, OpenViBE::CIdentifier &rTypeIdentifier) const =0
 Gets an output type identifier. More...
 
virtual OpenViBE::boolean getOutputName (const OpenViBE::uint32 ui32OutputIndex, OpenViBE::CString &rName) const =0
 Gets an output name. More...
 
virtual OpenViBE::boolean setOutputType (const OpenViBE::uint32 ui32OutputIndex, const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Sets an output type identifier. More...
 
virtual OpenViBE::boolean setOutputName (const OpenViBE::uint32 ui32OutputIndex, const OpenViBE::CString &rName)=0
 Sets an output name. More...
 
Setting management
virtual OpenViBE::boolean addSetting (const OpenViBE::CString &sName, const OpenViBE::CIdentifier &rTypeIdentifier, const OpenViBE::CString &sDefaultValue, const OpenViBE::int32 i32Index=-1, const OpenViBE::boolean bModifiability=false)=0
 Adds a setting to this box. More...
 
virtual OpenViBE::boolean removeSetting (const OpenViBE::uint32 ui32SettingIndex)=0
 Removes a setting for this box. More...
 
virtual OpenViBE::uint32 getSettingCount (void) const =0
 Gets the number of settings for this box. More...
 
virtual OpenViBE::boolean hasSettingWithName (const OpenViBE::CString &rName) const =0
 checks if a setting with a given name is present More...
 
virtual OpenViBE::int32 getSettingIndex (const OpenViBE::CString &rName) const =0
 gets the index of a setting with a given name More...
 
virtual OpenViBE::boolean getSettingType (const OpenViBE::uint32 ui32SettingIndex, OpenViBE::CIdentifier &rTypeIdentifier) const =0
 Gets a seting type identifier. More...
 
virtual OpenViBE::boolean getSettingName (const OpenViBE::uint32 ui32SettingIndex, OpenViBE::CString &rName) const =0
 Gets a setting name. More...
 
virtual OpenViBE::boolean getSettingDefaultValue (const OpenViBE::uint32 ui32SettingIndex, OpenViBE::CString &rDefaultValue) const =0
 Gets the default setting value. More...
 
virtual OpenViBE::boolean getSettingValue (const OpenViBE::uint32 ui32SettingIndex, OpenViBE::CString &rValue) const =0
 Gets the setting value. More...
 
virtual OpenViBE::boolean setSettingType (const OpenViBE::uint32 ui32SettingIndex, const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Sets a setting type identifier. More...
 
virtual OpenViBE::boolean setSettingName (const OpenViBE::uint32 ui32SettingIndex, const OpenViBE::CString &rName)=0
 Sets an setting name. More...
 
virtual OpenViBE::boolean setSettingDefaultValue (const OpenViBE::uint32 ui32SettingIndex, const OpenViBE::CString &rDefaultValue)=0
 Sets the default setting value. More...
 
virtual OpenViBE::boolean setSettingValue (const OpenViBE::uint32 ui32SettingIndex, const OpenViBE::CString &rValue)=0
 Sets the setting value. More...
 
virtual OpenViBE::boolean getSettingMod (const OpenViBE::uint32 ui32SettingIndex, OpenViBE::boolean &rValue) const =0
 Gets the setting modifiability. More...
 
virtual OpenViBE::boolean setSettingMod (const OpenViBE::uint32 ui32SettingIndex, const OpenViBE::boolean rValue)=0
 Sets the setting modifiability. More...
 
virtual OpenViBE::boolean hasModifiableSettings (void) const =0
 Inform if the box possess a modifiable interface. More...
 
virtual OpenViBE::uint32 * getModifiableSettings (OpenViBE::uint32 &rCount) const =0
 
Input/Output management
virtual OpenViBE::boolean addInputSupport (const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Marks this type as supported by inputs. More...
 
virtual OpenViBE::boolean hasInputSupport (const OpenViBE::CIdentifier &rTypeIdentifier) const =0
 Indicates if a type is support by inputs. More...
 
virtual OpenViBE::boolean addOutputSupport (const OpenViBE::CIdentifier &rTypeIdentifier)=0
 Marks this type as supported by outputs. More...
 
virtual OpenViBE::boolean hasOutputSupport (const OpenViBE::CIdentifier &rTypeIdentifier) const =0
 Indicates if a type is support by outputs. 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...
 
- Public Member Functions inherited from CObservable
virtual void addObserver (IObserver *o)
 Add the observer give in parameter in the list of observers of the object. More...
 
virtual void deleteObserver (IObserver *o)
 Remove the observer give in parameter from the list of observers of the object. Only the first occurence of the observer will be remove from the list. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CObservable
virtual void setChanged ()
 This function is used to indicate when the notification need to reach the observers. If this function is not called before notifyObserver, the notification will be ignore. More...
 
virtual void clearChanged ()
 Revert the effect of setChanged.
 
virtual OpenViBE::boolean hasChanged ()
 Indicate if some change have been made. More...
 
virtual void notifyObservers (void *data=NULL)
 Notify all registered observers. More...
 

Detailed Description

Complete OpenViBE box interface

This 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.

Author
Yann Renard (IRISA/INRIA)
Date
2006-08-16

Member Function Documentation

virtual OpenViBE::CIdentifier getIdentifier ( void  ) const
pure virtual

Gets the identifier of this box.

Returns
The identifier of this OpenViBE box.
virtual OpenViBE::CString getName ( void  ) const
pure virtual

Gets the display name of this box.

Returns
The name of this OpenViBE box.
virtual OpenViBE::CIdentifier getAlgorithmClassIdentifier ( void  ) const
pure virtual

Gets the algorithm class identifier.

Returns
This box' algorithm class identifier
virtual OpenViBE::boolean setIdentifier ( const OpenViBE::CIdentifier rIdentifier)
pure virtual

Changes the identifier of this box.

Parameters
rIdentifier[in] : The new identifier this box should take.
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setName ( const OpenViBE::CString sName)
pure virtual

Renames this box.

Parameters
sName[in] : The name this box should take
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setAlgorithmClassIdentifier ( const OpenViBE::CIdentifier rAlgorithmClassIdentifier)
pure virtual

Changes the algorithm identifier of this box.

Parameters
rAlgorithmClassIdentifier[in] : The new algorithm identifier this box should take.
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean initializeFromAlgorithmClassIdentifier ( const OpenViBE::CIdentifier rAlgorithmClassIdentifier)
pure virtual

Initializes the box from box algorithm descriptor.

Parameters
rAlgorithmClassIdentifier[in] : The new algorithm identifier this box should take.
Returns
true in case of success.
false in case of error.

Resets the box and initializes its input/output/settings according to the box algorithm descriptor

virtual OpenViBE::boolean initializeFromExistingBox ( const OpenViBE::Kernel::IBox rExistingBox)
pure virtual

Initializes the box from an already existing box.

Parameters
rExisitingBox[in] : The existing box.
Returns
true in case of success.
false in case of error.

Resets the box and initializes its input/output/settings according to the existing box.

virtual OpenViBE::boolean addInput ( const OpenViBE::CString sName,
const OpenViBE::CIdentifier rTypeIdentifier 
)
pure virtual

Adds an input to this box.

Parameters
sName[in] : The input name
rTypeIdentifier[in] : The input type identifier
Returns
true in case of success.
false in case of error.

The input is always added after the last already existing input.

virtual OpenViBE::boolean removeInput ( const OpenViBE::uint32  ui32InputIndex)
pure virtual

Removes an input for this box.

Parameters
ui32InputIndex[in] : The index of the input to be removed
Returns
true in case of success.
false in case of error.

Inputs coming after the removed input have their indices changing after this, they all decrease by 1.

virtual OpenViBE::uint32 getInputCount ( void  ) const
pure virtual

Gets the number of inputs for this box.

Returns
The number of inputs for this box.
virtual OpenViBE::boolean getInputType ( const OpenViBE::uint32  ui32InputIndex,
OpenViBE::CIdentifier rTypeIdentifier 
) const
pure virtual

Gets an input type identifier.

Parameters
ui32InputIndex[in] : The input index
rTypeIdentifier[out] : The type identifier
Returns
true in case of success.
false in case of error. In such case, rTypeIdentifier remains unchanged.
virtual OpenViBE::boolean getInputName ( const OpenViBE::uint32  ui32InputIndex,
OpenViBE::CString rName 
) const
pure virtual

Gets an input name.

Parameters
ui32InputIndex[in] : The input index
rName[out] : The name of this input
Returns
true in case of success.
false in case of error. In such case, rName remains unchanged.
virtual OpenViBE::boolean setInputType ( const OpenViBE::uint32  ui32InputIndex,
const OpenViBE::CIdentifier rTypeIdentifier 
)
pure virtual

Sets an input type identifier.

Parameters
ui32InputIndex[in] : The input index
rTypeIdentifier[in] : The type identifier
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setInputName ( const OpenViBE::uint32  ui32InputIndex,
const OpenViBE::CString rName 
)
pure virtual

Sets an input name.

Parameters
ui32InputIndex[in] : The input index
rName[in] : The name of this input
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean addOutput ( const OpenViBE::CString sName,
const OpenViBE::CIdentifier rTypeIdentifier 
)
pure virtual

Adds an output to this box.

Parameters
sName[in] : The output name
rTypeIdentifier[in] : The output type idenfitier
Returns
true in case of success.
false in case of error.

The output is always added after the last already existing output.

virtual OpenViBE::boolean removeOutput ( const OpenViBE::uint32  ui32OutputIndex)
pure virtual

Removes an output for this box.

Parameters
ui32OutputIndex[in] : The index of the output to remove
Returns
true in case of success.
false in case of error.

Outputs coming after the removed output have their indices changing after this, they all decrease by 1.

virtual OpenViBE::uint32 getOutputCount ( void  ) const
pure virtual

Gets the number of outputs for this box.

Returns
The number of outputs for this box.
virtual OpenViBE::boolean getOutputType ( const OpenViBE::uint32  ui32OutputIndex,
OpenViBE::CIdentifier rTypeIdentifier 
) const
pure virtual

Gets an output type identifier.

Parameters
ui32OutputIndex[in] : The output index
rTypeIdentifier[out] : The type identifier
Returns
true in case of success.
false in case of error. In such case, rTypeIdentifier remains unchanged.
virtual OpenViBE::boolean getOutputName ( const OpenViBE::uint32  ui32OutputIndex,
OpenViBE::CString rName 
) const
pure virtual

Gets an output name.

Parameters
ui32OutputIndex[in] : The output index
rName[out] : The name of this output
Returns
true in case of success.
false in case of error. In such case, rName remains unchanged.
virtual OpenViBE::boolean setOutputType ( const OpenViBE::uint32  ui32OutputIndex,
const OpenViBE::CIdentifier rTypeIdentifier 
)
pure virtual

Sets an output type identifier.

Parameters
ui32OutputIndex[in] : The output index
rTypeIdentifier[in] : The type identifier
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setOutputName ( const OpenViBE::uint32  ui32OutputIndex,
const OpenViBE::CString rName 
)
pure virtual

Sets an output name.

Parameters
ui32OutputIndex[in] : The output index
rName[in] : The name of this output
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean addSetting ( const OpenViBE::CString sName,
const OpenViBE::CIdentifier rTypeIdentifier,
const OpenViBE::CString sDefaultValue,
const OpenViBE::int32  i32Index = -1,
const OpenViBE::boolean  bModifiability = false 
)
pure virtual

Adds a setting to this box.

Parameters
sName[in] : The setting name
rTypeIdentifier[in] : The setting type identifier
sDefaultValue[in] : The default value for this setting
i32Index[in] : The index where to add the setting
Returns
true in case of success.
false in case of error.

The setting is added to the index required. The default value -1 means that the setting will be add to the end.

virtual OpenViBE::boolean removeSetting ( const OpenViBE::uint32  ui32SettingIndex)
pure virtual

Removes a setting for this box.

Parameters
ui32SettingIndex[in] : The index of the setting to remove
Returns
true in case of success.
false in case of error.

Settings coming after the removed setting have their indices changing after this, they all decrease by 1.

virtual OpenViBE::uint32 getSettingCount ( void  ) const
pure virtual

Gets the number of settings for this box.

Returns
The number of settings for this box.
virtual OpenViBE::boolean hasSettingWithName ( const OpenViBE::CString rName) const
pure virtual

checks if a setting with a given name is present

Parameters
rName[in] : Name of the setting
Returns
true if setting is present, false otherwise
virtual OpenViBE::int32 getSettingIndex ( const OpenViBE::CString rName) const
pure virtual

gets the index of a setting with a given name

Parameters
rName[in] : Name of the setting
Returns
index of the first setting with specified name
virtual OpenViBE::boolean getSettingType ( const OpenViBE::uint32  ui32SettingIndex,
OpenViBE::CIdentifier rTypeIdentifier 
) const
pure virtual

Gets a seting type identifier.

Parameters
ui32SettingIndex[in] : The setting index
rTypeIdentifier[out] : The type identifier
Returns
true in case of success.
false in case of error. In such case, rTypeIdentifier remains unchanged.
virtual OpenViBE::boolean getSettingName ( const OpenViBE::uint32  ui32SettingIndex,
OpenViBE::CString rName 
) const
pure virtual

Gets a setting name.

Parameters
ui32SettingIndex[in] : The setting index
rName[out] : The name of this setting
Returns
true in case of success.
false in case of error. In such case, rName remains unchanged.
virtual OpenViBE::boolean getSettingDefaultValue ( const OpenViBE::uint32  ui32SettingIndex,
OpenViBE::CString rDefaultValue 
) const
pure virtual

Gets the default setting value.

Parameters
ui32SettingIndex[in] : The setting index
rDefaultValue[out] : The default value
Returns
true in case of success.
false in case of error. In such case, rDefaultValue remains unchanged.
virtual OpenViBE::boolean getSettingValue ( const OpenViBE::uint32  ui32SettingIndex,
OpenViBE::CString rValue 
) const
pure virtual

Gets the setting value.

Parameters
ui32SettingIndex[in] : The setting index
rValue[out] : The value
Returns
true in case of success.
false in case of error. In such case, rValue remains unchanged.
virtual OpenViBE::boolean setSettingType ( const OpenViBE::uint32  ui32SettingIndex,
const OpenViBE::CIdentifier rTypeIdentifier 
)
pure virtual

Sets a setting type identifier.

Parameters
ui32SettingIndex[in] : The setting index
rTypeIdentifier[in] : The type identifier
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setSettingName ( const OpenViBE::uint32  ui32SettingIndex,
const OpenViBE::CString rName 
)
pure virtual

Sets an setting name.

Parameters
ui32SettingIndex[in] : The setting index
rName[in] : The name of this setting
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setSettingDefaultValue ( const OpenViBE::uint32  ui32SettingIndex,
const OpenViBE::CString rDefaultValue 
)
pure virtual

Sets the default setting value.

Parameters
ui32SettingIndex[in] : The setting index
rDefaultValue[in] : The default value
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setSettingValue ( const OpenViBE::uint32  ui32SettingIndex,
const OpenViBE::CString rValue 
)
pure virtual

Sets the setting value.

Parameters
ui32SettingIndex[in] : The setting index
rValue[in] : The value
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean getSettingMod ( const OpenViBE::uint32  ui32SettingIndex,
OpenViBE::boolean &  rValue 
) const
pure virtual

Gets the setting modifiability.

Parameters
ui32SettingIndex[in] : The setting index
rValue[out] : The value
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean setSettingMod ( const OpenViBE::uint32  ui32SettingIndex,
const OpenViBE::boolean  rValue 
)
pure virtual

Sets the setting modifiability.

Parameters
ui32SettingIndex[in] : The setting index
rValue[in] : The value
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean hasModifiableSettings ( void  ) const
pure virtual

Inform if the box possess a modifiable interface.

Returns
true if it does.
false otherwise.
virtual OpenViBE::boolean addInputSupport ( const OpenViBE::CIdentifier rTypeIdentifier)
pure virtual

Marks this type as supported by inputs.

Parameters
rTypeIdentifier[in] : The type identifier
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean hasInputSupport ( const OpenViBE::CIdentifier rTypeIdentifier) const
pure virtual

Indicates if a type is support by inputs.

Parameters
rTypeIdentifier[in] : The type identifier
Returns
true if type is support.
false if type isn't support.
virtual OpenViBE::boolean addOutputSupport ( const OpenViBE::CIdentifier rTypeIdentifier)
pure virtual

Marks this type as supported by outputs.

Parameters
rTypeIdentifier[in] : The type identifier
Returns
true in case of success.
false in case of error.
virtual OpenViBE::boolean hasOutputSupport ( const OpenViBE::CIdentifier rTypeIdentifier) const
pure virtual

Indicates if a type is support by outputs.

Parameters
rTypeIdentifier[in] : The type identifier
Returns
true if type is support.
false if type isn't support.
virtual OpenViBE::boolean setSupportTypeFromAlgorithmIdentifier ( const OpenViBE::CIdentifier rTypeIdentifier)
pure virtual

Set the supported stream type for input and output according to the restriction of the algorithm whose identifier is given in parameter.

Parameters
rTypeIdentifier[in] : identifier of the algorithm
Returns
true in case of success.
false in case of error.
Note
The supported stream list is not reset.