OpenViBE Documentation 3.6.0
OpenViBE::Kernel::IScenarioManager Class Referenceabstract

The scenario manager. More...

#include <ovIScenarioManager.h>

+ Inheritance diagram for OpenViBE::Kernel::IScenarioManager:

Public Member Functions

virtual CIdentifier getNextScenarioIdentifier (const CIdentifier &previousID) const =0
 Gets next scenario identifier. More...
 
virtual bool isScenario (const CIdentifier &scenarioID) const =0
 
virtual bool createScenario (CIdentifier &scenarioID)=0
 Creates a new scenario. More...
 
virtual bool importScenario (CIdentifier &newScenarioID, const CMemoryBuffer &buffer, const CIdentifier &scenarioImporterAlgorithmID)=0
 Import a scenario from a memory buffer and insert it in the scenario manager. More...
 
virtual bool importScenarioFromFile (CIdentifier &newScenarioID, const CString &fileName, const CIdentifier &scenarioImporterAlgorithmID)=0
 Import a scenario from a file and insert it in the scenario manager. More...
 
virtual bool exportScenario (CMemoryBuffer &buffer, const CIdentifier &scenarioID, const CIdentifier &scenarioExporterAlgorithmID) const =0
 Export a scenario to a memory buffer. More...
 
virtual bool exportScenarioToFile (const CString &fileName, const CIdentifier &scenarioID, const CIdentifier &scenarioExporterAlgorithmID) const =0
 Export a scenario to a file. More...
 
virtual bool releaseScenario (const CIdentifier &id)=0
 Releases an existing scenario. More...
 
virtual IScenariogetScenario (const CIdentifier &id)=0
 Gets details on a specific scenario. More...
 
Scenario Importers and Exporters

Scenario importers and exporters permit the Kernel to load and save scenarios from and to files without having the client to explicitly specify the algorithm identifier for export.

Both are represented by a data structure that associates a Context with one or more File Name Extensions, each of the Context/Extension pair has then an Algorithm Identifier associated. This enables the kernel to use a different importer for different uses.

For example, in authoring mode one does not need to load the complete scenario, just the descriptor components.

Importers and exporters can be registered directly by plugins declaring new algorithms.

virtual void cloneScenarioImportersAndExporters (const IScenarioManager &scenarioManager)=0
 Copies all scenario importers and exporters declarations from a scenarioManager to the current one. More...
 
virtual bool importScenarioFromFile (CIdentifier &newScenarioID, const CIdentifier &importContext, const CString &fileName)=0
 
virtual bool registerScenarioImporter (const CIdentifier &importContext, const CString &fileNameExtension, const CIdentifier &scenarioImporterAlgorithmID)=0
 
virtual bool unregisterScenarioImporter (const CIdentifier &importContext, const CString &fileNameExtension)=0
 
virtual CIdentifier getNextScenarioImportContext (const CIdentifier &importContext) const =0
 
virtual CString getNextScenarioImporter (const CIdentifier &importContext, const CString &fileNameExtension) const =0
 
virtual CIdentifier getScenarioImporterAlgorithmIdentifier (const CIdentifier &importContext, const CString &fileNameExtension) const =0
 
virtual bool exportScenarioToFile (const CIdentifier &exportContext, const CString &fileName, const CIdentifier &scenarioID)=0
 
virtual bool registerScenarioExporter (const CIdentifier &exportContext, const CString &fileNameExtension, const CIdentifier &scenarioExporterAlgorithmID)=0
 
virtual bool unregisterScenarioExporter (const CIdentifier &exportContext, const CString &fileNameExtension)=0
 
virtual CIdentifier getNextScenarioExportContext (const CIdentifier &exportContext) const =0
 
virtual CString getNextScenarioExporter (const CIdentifier &exportContext, const CString &fileNameExtension) const =0
 
virtual CIdentifier getScenarioExporterAlgorithmIdentifier (const CIdentifier &exportContext, const CString &fileNameExtension) const =0
 
- Public Member Functions inherited from OpenViBE::IObject
virtual CIdentifier getClassIdentifier () const =0
 Returns the final class identifier of the concrete class. More...
 
virtual bool isDerivedFromClass (const CIdentifier &classId) const
 Checks if this object is compatible with a class identifier. More...
 
virtual bool acceptVisitor (IObjectVisitor &visitor)
 Requests this object to accept a visitor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from OpenViBE::IObject
virtual ~IObject ()
 

Detailed Description

The scenario manager.

Author
Yann Renard (IRISA/INRIA)
Date
2006-10-05

This manager is responsible to organize and handle all the scenarios of the kernel.

Member Function Documentation

◆ getNextScenarioIdentifier()

virtual CIdentifier OpenViBE::Kernel::IScenarioManager::getNextScenarioIdentifier ( const CIdentifier previousID) const
pure virtual

Gets next scenario identifier.

Parameters
previousID[in] : The identifier for the preceeding scenario
Returns
The identifier of the next scenario in case of success.
CIdentifier::undefined() on error.
Note
Giving CIdentifier::undefined() as previousID will cause this function to return the first scenario identifier.

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ createScenario()

virtual bool OpenViBE::Kernel::IScenarioManager::createScenario ( CIdentifier scenarioID)
pure virtual

Creates a new scenario.

Parameters
scenarioID[out] : the identifier of the newly created scenario
Returns
true in case of success.
false in case of error.

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ importScenario()

virtual bool OpenViBE::Kernel::IScenarioManager::importScenario ( CIdentifier newScenarioID,
const CMemoryBuffer buffer,
const CIdentifier scenarioImporterAlgorithmID 
)
pure virtual

Import a scenario from a memory buffer and insert it in the scenario manager.

Parameters
[out]newScenarioIDNew identifier of the imported scenario
bufferBuffer to import the scenario from
scenarioImporterAlgorithmIDThe importer algorithm to use
Return values
trueIn case of success
falseIn case of failure

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ importScenarioFromFile()

virtual bool OpenViBE::Kernel::IScenarioManager::importScenarioFromFile ( CIdentifier newScenarioID,
const CString fileName,
const CIdentifier scenarioImporterAlgorithmID 
)
pure virtual

Import a scenario from a file and insert it in the scenario manager.

Parameters
[out]newScenarioIDNew identifier of the imported scenario
fileNameFile to import the scenario from
scenarioImporterAlgorithmIDThe importer algorithm to use
Return values
trueIn case of success
falseIn case of failure

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ exportScenario()

virtual bool OpenViBE::Kernel::IScenarioManager::exportScenario ( CMemoryBuffer buffer,
const CIdentifier scenarioID,
const CIdentifier scenarioExporterAlgorithmID 
) const
pure virtual

Export a scenario to a memory buffer.

Parameters
[out]bufferBuffer to be filled with the serialized scenario
scenarioIDScenario to export
scenarioExporterAlgorithmIDExporter to use
Return values
trueIn case of success
falseIn case of failure

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ exportScenarioToFile()

virtual bool OpenViBE::Kernel::IScenarioManager::exportScenarioToFile ( const CString fileName,
const CIdentifier scenarioID,
const CIdentifier scenarioExporterAlgorithmID 
) const
pure virtual

Export a scenario to a file.

Parameters
fileNameFile to which export the scenario
scenarioIDScenario to export
scenarioExporterAlgorithmIDExporter to use
Return values
trueIn case of success
falseIn case of failure

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ releaseScenario()

virtual bool OpenViBE::Kernel::IScenarioManager::releaseScenario ( const CIdentifier id)
pure virtual

Releases an existing scenario.

Parameters
id[in] : the existing scenario identifier
Returns
true in case of success.
false in case of error.

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ getScenario()

virtual IScenario & OpenViBE::Kernel::IScenarioManager::getScenario ( const CIdentifier id)
pure virtual

Gets details on a specific scenario.

Parameters
id[in] : the scenario identifier which details should be returned
Returns
the corresponding scenario reference.
Warning
Calling this function with a bad identifier causes a crash

Implemented in OpenViBE::Kernel::CScenarioManager.

◆ cloneScenarioImportersAndExporters()

virtual void OpenViBE::Kernel::IScenarioManager::cloneScenarioImportersAndExporters ( const IScenarioManager scenarioManager)
pure virtual

Copies all scenario importers and exporters declarations from a scenarioManager to the current one.

Parameters
scenarioManagerThe manager to copy the importers from.

Implemented in OpenViBE::Kernel::CScenarioManager.