ADTF  3.18.2
sample_stream< INTERFACE >

Helper template to implement a ISampleStream or a ISampleStream derived interface. More...

Inheritance diagram for sample_stream< INTERFACE >:
[legend]

Public Member Functions

 sample_stream (const char *strName)
 
tResult SetName (const char *strName) override
 
tResult SetParent (const ucom::ant::IObject *oParentObject) override
 
tResult Open (const char *strName, adtf::ucom::ant::iobject_ptr< ISampleInStream > &pInStream, const adtf::ucom::ant::iobject_ptr< const IStreamType > &pInitialAcceptedStreamType, ISampleStream::IPushReadEventSink *&pPushEventSink, ISampleStreamAccess::tMode ui32Mode, size_t szQueueSize) override
 
tResult Open (const char *strName, adtf::ucom::ant::iobject_ptr< ISampleOutStream > &pOutStream, ISampleStreamAccess::tMode ui32Mode, size_t szQueueSize) override
 
tResult GetType (adtf::ucom::ant::iobject_ptr< const IStreamType > &pStreamType) const override
 
tTimeStamp GetTime () const override
 Returns the last flush time and so the current position of the stream.
 
tResult SetStreamError (const tResult &oError) override
 Sets and forwards a StreamError to the readers. More...
 
tResult AttachRouting (const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
 Attaches a SampleStream where to route the Write / Flush and Run calls to. More...
 
tResult DetachRouting (const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
 Detaches a SampleStream where the routing was set by AttachRouting. More...
 
- Public Member Functions inherited from object< detail::cSampleStreamBase, ISampleStream, named_graph_object< trigger_pipe_item< ISampleStream > > >
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object. More...
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying. More...
 
void Destroy () const override
 Destruct and deallocate instantiations of type IObject. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Protected Member Functions

 sample_stream (sample_stream &&)=delete
 
 sample_stream (const sample_stream &)=delete
 
sample_streamoperator= (sample_stream &&)=delete
 
sample_streamoperator= (const sample_stream &)=delete
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Private Types

typedef named_graph_object< trigger_pipe_item< INTERFACE > > base_type
 

Detailed Description

template<typename INTERFACE = ISampleStream>
class adtf::streaming::ant::sample_stream< INTERFACE >

Helper template to implement a ISampleStream or a ISampleStream derived interface.

Template Parameters
INTERFACEInterface type of a ISampleStream interface.

Definition at line 153 of file samplestream.h.

Member Function Documentation

◆ AttachRouting()

tResult AttachRouting ( const adtf::ucom::ant::iobject_ptr< ISampleStream > &  pSampleStreamTo)
inlineoverride

Attaches a SampleStream where to route the Write / Flush and Run calls to.

This will automatically opens one writer of pSampleStreamTo and forwards the writers queue.

Parameters
[in]pSampleStreamToSampleStream where to root the writer queue to.
Returns
Standard Result Code.

Definition at line 233 of file samplestream.h.

References cSampleStreamBase::AttachRouting().

◆ DetachRouting()

tResult DetachRouting ( const adtf::ucom::ant::iobject_ptr< ISampleStream > &  pSampleStreamTo)
inlineoverride

Detaches a SampleStream where the routing was set by AttachRouting.

Parameters
[in]pSampleStreamToSampleStream to detach.
Returns
Standard Result Code.
Return values
ERR_NOT_FOUNDThe SampleStream given by pSampleStreamTo is not attached.

Definition at line 238 of file samplestream.h.

References cSampleStreamBase::DetachRouting().

◆ SetStreamError()

tResult SetStreamError ( const tResult oError)
inlineoverride

Sets and forwards a StreamError to the readers.

Depending on the implementation and error type this may stop the streaming!

Parameters
[in]oErrorError to set
Returns
Standard Result Code.

Definition at line 228 of file samplestream.h.

References cSampleStreamBase::SetStreamError().