VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtVideoStreamManager Class Reference

DtVideoStreamManager is a singleton class that manages DtVideoStreams in VR-Vantage.

Inheritance diagram for makVrv::DtVideoStreamManager:
Inheritance graph
[legend]

Public Types

typedef std::vector
< DtVideoStream * > 
VideoStreamList
 

Public Member Functions

virtual ~DtVideoStreamManager ()
 
virtual void addVideoStreamCreator (const DtUnicode &streamType, const DtUnicode &typeDisplayName, DtVideoStreamCreator *creator)
 
virtual void videoStreamTypesSupported (std::list< DtUnicode > &streamTypes, std::list< DtUnicode > &displayNames) const
 
virtual DtVideoStreamcreateVideoStream (const DtUnicode &streamType, const DtUnicode &streamName)
 
virtual bool destroyVideoStream (const DtUnicode &streamName)
 
virtual bool renameVideoStream (const DtUnicode &oldName, const DtUnicode &newName)
 
virtual DtVideoStreamvideoStream (const DtUnicode &streamName)
 
virtual const VideoStreamListvideoStreams () const
 
virtual bool checkAvailability (const DtVideoStream &stream) const
 
virtual void saveVideoStream (const DtVideoStream &stream) const
 
virtual void loadVideoStream (const DtUnicode &filename)
 
virtual void autoLoadVideoStreams ()
 
virtual void autoStartVideoStreams ()
 
virtual void addMetadataPublisherCreator (const DtUnicode &pubType, const DtUnicode &typeDisplayName, DtMetadataPublisherCreator *creator)
 
virtual void metadataPublisherTypesSupported (std::list< DtUnicode > &displayNames, std::list< DtUnicode > &pubTypes) const
 
virtual DtMetadataPublishercreateMetadataPublisher (const DtUnicode &pubType, const DtVideoStream &videoStream) const
 
virtual void addImageTaskElementCreator (const DtUnicode &imageTaskType, const DtUnicode &displayName, DtImageTaskElementCreator *creator)
 
virtual void imageTaskElementTypesSupported (std::list< DtUnicode > &displayNames, std::list< DtUnicode > &taskTypes) const
 
virtual DtImageTaskElementcreateImageTaskElement (const DtUnicode &imageTaskType, DtProcessImageTask *owningTask) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtVideoStreamManagerinstance (DtDe &de)
 
static void registerInstance (DtDe &de, DtVideoStreamManager *anInstance)
 

Public Attributes

boost::signalslib::signal
< void(DtVideoStream &)> 
signal_videoStreamAdded
 
boost::signalslib::signal
< void(DtVideoStream &)> 
signal_videoStreamToBeDestroyed
 
boost::signalslib::signal
< void(const DtVideoStream &)> 
signal_videoStreamStatusChanged
 

Protected Types

typedef boost::unordered_map
< DtUnicode, DtVideoStream * > 
VideoStreamMap
 
typedef std::pair< DtUnicode,
DtVideoStreamCreator * > 
VideoStreamNameCreatorPair
 
typedef std::pair< DtUnicode,
DtImageTaskElementCreator * > 
ImageTaskNameCreatorPair
 
typedef std::pair< DtUnicode,
DtMetadataPublisherCreator * > 
MetadataPublisherNameCreatorPair
 
typedef boost::unordered_map
< DtUnicode,
MetadataPublisherNameCreatorPair
MetadataPublisherCreators
 
typedef boost::unordered_map
< DtUnicode,
ImageTaskNameCreatorPair
ImageTaskElementCreators
 
typedef boost::unordered_map
< DtUnicode,
VideoStreamNameCreatorPair
VideoStreamCreators
 

Protected Member Functions

 DtVideoStreamManager (DtDe &de)
 
virtual void removeVideoStreamFile (const DtVideoStream &stream) const
 
virtual void removeVideoStreamFromList (const DtVideoStream *streamPtr)
 
virtual DtUnicode createVideoStreamFilename (const DtVideoStream &stream) const
 
virtual void connectToVideoStreamSignals (DtVideoStream &stream)
 
virtual void disconnectFromVideoStreamSignals (DtVideoStream &stream)
 
virtual void slot_videoStreamStatusChanged (const DtVideoStream &stream)
 

Protected Attributes

MetadataPublisherCreators myMetadataPublisherCreators
 
ImageTaskElementCreators myImageTaskElementCreators
 
VideoStreamCreators myVideoStreamCreators
 
VideoStreamMap myVideoStreams
 
VideoStreamList myVideoStreamList
 
DtDemyDe
 

Member Typedef Documentation

List of video streams.

typedef boost::unordered_map<DtUnicode, DtVideoStream*> makVrv::DtVideoStreamManager::VideoStreamMap
protected

VideoStreamMap is a hash table of Video Stream Names to video streams.

Constructor & Destructor Documentation

virtual makVrv::DtVideoStreamManager::~DtVideoStreamManager ( )
virtual

DTOR.

makVrv::DtVideoStreamManager::DtVideoStreamManager ( DtDe de)
protected

Member Function Documentation

static DtVideoStreamManager& makVrv::DtVideoStreamManager::instance ( DtDe de)
static

Get the instance for the DtVideoStreamManager.

Exceptions
DtCorruptedStateif it is unable to get the instance.
static void makVrv::DtVideoStreamManager::registerInstance ( DtDe de,
DtVideoStreamManager anInstance 
)
static

Register the creator instance with an IG.

virtual void makVrv::DtVideoStreamManager::addVideoStreamCreator ( const DtUnicode streamType,
const DtUnicode typeDisplayName,
DtVideoStreamCreator creator 
)
virtual

Add a Creator function for the video stream type indicated.

virtual void makVrv::DtVideoStreamManager::videoStreamTypesSupported ( std::list< DtUnicode > &  streamTypes,
std::list< DtUnicode > &  displayNames 
) const
virtual

Get the list of stream types and display names of the video stream that can be created.

virtual DtVideoStream* makVrv::DtVideoStreamManager::createVideoStream ( const DtUnicode streamType,
const DtUnicode streamName 
)
virtual

Request creation of (an unitialized) video stream of the specified type with the indicated name. If a video stream with the same name already exists or if a creator for streamType is not found, NULL is returned. Note that this does not cause a video stream configuration to be saved. Call saveVideoStream to do that after creation.

virtual bool makVrv::DtVideoStreamManager::destroyVideoStream ( const DtUnicode streamName)
virtual

Destroy the indicated video stream. Returns false if there is no video stream with the indicated name.

virtual bool makVrv::DtVideoStreamManager::renameVideoStream ( const DtUnicode oldName,
const DtUnicode newName 
)
virtual

Rename a video stream. Returns false if there is no video stream with the old name; or if there already is a video stream with the new name.

virtual DtVideoStream* makVrv::DtVideoStreamManager::videoStream ( const DtUnicode streamName)
virtual

Get a video stream by name.

virtual const VideoStreamList& makVrv::DtVideoStreamManager::videoStreams ( ) const
virtual

Get the table of video streams.

virtual bool makVrv::DtVideoStreamManager::checkAvailability ( const DtVideoStream stream) const
virtual

Determines if a stream could be started. False if already started or another stream is already running on the same channel.

virtual void makVrv::DtVideoStreamManager::saveVideoStream ( const DtVideoStream stream) const
virtual

Save a video stream. The filename will be be the stream's instanceName.streamType, and it will be placed in the directory indicated by dePathConfiguration().videoStreamPath()

virtual void makVrv::DtVideoStreamManager::loadVideoStream ( const DtUnicode filename)
virtual

Load a video stream from the specified path.

virtual void makVrv::DtVideoStreamManager::autoLoadVideoStreams ( )
virtual

Auto load all video streams found in dePathConfiguration().videoStreamPath()

virtual void makVrv::DtVideoStreamManager::autoStartVideoStreams ( )
virtual

Start any video streams marked as autostart.

virtual void makVrv::DtVideoStreamManager::addMetadataPublisherCreator ( const DtUnicode pubType,
const DtUnicode typeDisplayName,
DtMetadataPublisherCreator creator 
)
virtual

Add a creator function for the specified metadata publisher type.

virtual void makVrv::DtVideoStreamManager::metadataPublisherTypesSupported ( std::list< DtUnicode > &  displayNames,
std::list< DtUnicode > &  pubTypes 
) const
virtual

Get the list of the display names and publisher types of metadata publishers that can be created.

virtual DtMetadataPublisher* makVrv::DtVideoStreamManager::createMetadataPublisher ( const DtUnicode pubType,
const DtVideoStream videoStream 
) const
virtual

Create a metadata publisher of the indicated type for the specified video stream.

virtual void makVrv::DtVideoStreamManager::addImageTaskElementCreator ( const DtUnicode imageTaskType,
const DtUnicode displayName,
DtImageTaskElementCreator creator 
)
virtual

Add a creator function for the specified image task element type.

virtual void makVrv::DtVideoStreamManager::imageTaskElementTypesSupported ( std::list< DtUnicode > &  displayNames,
std::list< DtUnicode > &  taskTypes 
) const
virtual

Get the list of the display names of process image task element types that can be created.

virtual DtImageTaskElement* makVrv::DtVideoStreamManager::createImageTaskElement ( const DtUnicode imageTaskType,
DtProcessImageTask owningTask 
) const
virtual

Create an image task element.

virtual void makVrv::DtVideoStreamManager::removeVideoStreamFile ( const DtVideoStream stream) const
protectedvirtual

Remove the specified video stream configuration from the filesystem.

virtual void makVrv::DtVideoStreamManager::removeVideoStreamFromList ( const DtVideoStream streamPtr)
protectedvirtual

Remove the video stream pointer from the video stream list maintained for external access.

virtual DtUnicode makVrv::DtVideoStreamManager::createVideoStreamFilename ( const DtVideoStream stream) const
protectedvirtual

Create tthe filename for a video stream based on its instance name, stream type, and dePathConfiguration().videoStreamPath()

virtual void makVrv::DtVideoStreamManager::connectToVideoStreamSignals ( DtVideoStream stream)
protectedvirtual

Connect manager slots to signals from a video stream.

virtual void makVrv::DtVideoStreamManager::disconnectFromVideoStreamSignals ( DtVideoStream stream)
protectedvirtual

Disconnect manager slots to signals from a video stream.

virtual void makVrv::DtVideoStreamManager::slot_videoStreamStatusChanged ( const DtVideoStream stream)
protectedvirtual

Slot called when a video stream raises signal_videoStreamStatusChanged.

Member Data Documentation

boost::signalslib::signal<void ( DtVideoStream& )> makVrv::DtVideoStreamManager::signal_videoStreamAdded

emitted when a video stream is added to the manager (through creation)

boost::signalslib::signal<void ( DtVideoStream& )> makVrv::DtVideoStreamManager::signal_videoStreamToBeDestroyed

emitted when a video stream is about to be destroyed

boost::signalslib::signal<void ( const DtVideoStream& )> makVrv::DtVideoStreamManager::signal_videoStreamStatusChanged

emitted when the status of a video stream changes

MetadataPublisherCreators makVrv::DtVideoStreamManager::myMetadataPublisherCreators
protected
ImageTaskElementCreators makVrv::DtVideoStreamManager::myImageTaskElementCreators
protected
VideoStreamCreators makVrv::DtVideoStreamManager::myVideoStreamCreators
protected
VideoStreamMap makVrv::DtVideoStreamManager::myVideoStreams
protected
VideoStreamList makVrv::DtVideoStreamManager::myVideoStreamList
protected
DtDe& makVrv::DtVideoStreamManager::myDe
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)