ADTF
Loading...
Searching...
No Matches
adtf::streaming::sample_stream< INTERFACE > Class Template Reference

#include <samplestream.h>

Inherits adtf::streaming::trigger_pipe_item< ant::INamedGraphObject, ISampleStream, ISampleStream >.

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
 
tResult SetStreamError (const tResult &oError) override
 
tResult AttachRouting (const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
 
tResult DetachRouting (const adtf::ucom::ant::iobject_ptr< ISampleStream > &pSampleStreamTo) override
 
- Public Member Functions inherited from adtf::streaming::trigger_pipe_item< ant::INamedGraphObject, ISampleStream, ISampleStream >
 trigger_pipe_item ()=default
 CTOR.
 
 trigger_pipe_item (const char *strName)
 
 trigger_pipe_item (const char *strName, adtf::base::ant::IRunnable &oRunnable)
 
void SetRunnable (adtf::base::ant::IRunnable &oRunnable)
 
void SetRunnable (adtf::base::flash::IRunnable &oRunnable)
 
void SetCallable (CALLABLE &&callable)
 
tResult RegisterSubItem (const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio) override
 
tResult UnregisterSubItem (const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun) override
 
tResult ChangePriority (const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio) override
 
tResult GetSubItems (adtf::ucom::ant::iobject_enum< const ITriggerPipeItem > &lstSubItems) const override
 
tResult Run (tTimeStamp tmTimeofActivation, adtf::base::ant::IRunnable::tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize) override
 
tResult Run (adtf::base::flash::tNanoSeconds tmTimeofActivation, adtf::base::ant::IRunnable::tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize) override
 
tResult RegisterTriggerParent (const ant::ITriggerPipeSource *pParent) override
 
tResult UnregisterTriggerParent (const ant::ITriggerPipeSource *pParent) override
 
tResult GetTriggerParents (const ucom::nitro::ifunction< tResult(const ant::ITriggerPipeSource *)> &fnCallback) const override
 
tResult GetName (base::ant::IString &&strName) const
 
tResult SetName (const char *strName)
 
tResult SetParent (const ucom::ant::IObject *oParentObject)
 
tResult GetParent (const ucom::ant::IObject *&poParentObject) const
 
- Public Member Functions inherited from adtf::ucom::catwo::object< base::ant::IRunnable, base::flash::IRunnable, ant::ITriggerPipeSource, ant::ITriggerPipeItem, quiet::ITriggerPipeHierachy, INTERFACES... >
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object.
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying.
 
void Destroy () const override
 Switch from non-virtual destructor to virtual destructor.
 
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object.
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying.
 
void Destroy () const override
 Switch from non-virtual destructor to virtual destructor.
 
tResult GetInterface (const char *i_strIID, void *&o_pInterface) override
 Query interfaces on an object.
 
tResult GetInterface (const char *i_strIID, const void *&o_pInterface) const override
 Provides const correct interface querying.
 
void Destroy () const override
 Switch from non-virtual destructor to virtual destructor.
 
- Public Member Functions inherited from adtf::ucom::ant::IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 

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 adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

Detailed Description

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

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

Template Parameters
INTERFACEInterface type of a ISampleStream interface.

Member Function Documentation

◆ AttachRouting()

template<typename INTERFACE = ISampleStream>
tResult adtf::streaming::ant::sample_stream< INTERFACE >::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.

◆ DetachRouting()

template<typename INTERFACE = ISampleStream>
tResult adtf::streaming::ant::sample_stream< INTERFACE >::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.

◆ SetStreamError()

template<typename INTERFACE = ISampleStream>
tResult adtf::streaming::ant::sample_stream< INTERFACE >::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.

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