ImFusion SDK 4.3
Substream< BaseStream > Class Template Reference

#include <ImFusion/Stream/StreamGroup.h>

Template class for dummy substreams. More...

+ Inheritance diagram for Substream< BaseStream >:

Detailed Description

template<class BaseStream>
class ImFusion::Substream< BaseStream >

Template class for dummy substreams.

The Substream is tightly bound to the streamGroup stream: it syncs the stream state and does not run a doWork job on its own. The class serves as a wrapper to appear like a normal stream to the outside. Internally, it is owned and fully controlled by the proxy stream that is responsible for the stream data emission.

See also
ImageSubstream and TrackingSubstream

Public Member Functions

 Substream (StreamGroupBase *streamGroup, std::string name, std::string uuid="")
 
- Public Member Functions inherited from SubstreamBase
 SubstreamBase (StreamGroupBase *streamGroup)
 
StreamGroupBasestreamGroup () const
 Returns the streamGroup stream group.
 

Synchronization of stream state with the streamGroup stream.

bool openImpl () override final
 
bool closeImpl () override final
 
bool startImpl () override final
 
bool stopImpl () override final
 
bool pauseImpl () override final
 
bool resumeImpl () override final
 
bool supportsPausing () const override final
 
std::optional< Stream::WorkContinuationdoWork () override final
 Empty doWork job since it is performed in the streamGroup stream.
 
std::string uuid () override
 
BaseStream * stream () override final
 Convenience method to return this pointer of the stream type the substream derived from.
 

Additional Inherited Members

- Protected Attributes inherited from SubstreamBase
StreamGroupBasem_streamGroup = nullptr
 

Member Function Documentation

◆ stream()

template<class BaseStream>
BaseStream * stream ( )
inlinefinaloverridevirtual

Convenience method to return this pointer of the stream type the substream derived from.

Implements SubstreamBase.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close