ADTF
sample_streamer< INTERFACE, PINTYPE >

Helper template can be used to implement ISampleStreamer. More...

Inheritance diagram for sample_streamer< INTERFACE, PINTYPE >:
[legend]

Public Types

typedef PINTYPE pin_type
 

Public Member Functions

 sample_streamer ()=default
 CTOR.
 
 sample_streamer (const char *strName, const ucom::ant::iobject_ptr< const IStreamType > &pStreamType)
 CTOR initializer. More...
 
virtual ~sample_streamer ()
 DTOR.
 
void SetName (const char *strName)
 Sets the name of the streamer. More...
 
void ResetPin (ucom::ant::object_ptr< PINTYPE > &pPin)
 Resets the pin reference This is only internaly used. More...
 
void ResetPin ()
 Resets the pin reference to nullptr. More...
 
tResult GetName (base::ant::IString &&strName) const
 Gets the name of the streamer. More...
 
tResult SetType (const ucom::ant::iobject_ptr< const IStreamType > &pStreamType)
 Sets the StreamType of the streamer. More...
 
tResult GetType (ucom::ant::iobject_ptr< const IStreamType > &pStreamType) const override
 
tResult EndStreaming () override
 

Protected Member Functions

 sample_streamer (const sample_streamer &)=delete
 deleted copy CTOR
 
 sample_streamer (sample_streamer &&)=delete
 deleted move CTOR
 
sample_streameroperator= (const sample_streamer &)=delete
 deleted copy operator
 
sample_streameroperator= (sample_streamer &&)=delete
 deleted move operator
 

Protected Attributes

adtf_util::cString m_strName
 name of the streamer (used i.e. to create the pins name)
 
ucom::object_ptr< const IStreamTypem_pStreamType
 stream type of the streamer
 
ucom::object_ptr< PINTYPE > m_poPin
 pin reference reading/writing from
 

Detailed Description

template<typename INTERFACE, typename PINTYPE>
class adtf::streaming::ant::sample_streamer< INTERFACE, PINTYPE >

Helper template can be used to implement ISampleStreamer.

This template works only for cInPin and cOutPin or implementations using similar functionality to cPin::RegisterStreamer and cPin::UnregisterStreamer.

Template Parameters
PINTYPEPin referenced to.

Definition at line 40 of file samplereader.h.

Constructor & Destructor Documentation

◆ sample_streamer()

sample_streamer ( const char *  strName,
const ucom::ant::iobject_ptr< const IStreamType > &  pStreamType 
)
inline

CTOR initializer.

Parameters
[in]strNameName of the Streamer
[in]pStreamTypeAccepted streamtype of the streamer

Definition at line 67 of file samplereader.h.

Member Function Documentation

◆ GetName()

tResult GetName ( base::ant::IString &&  strName) const
inline

Gets the name of the streamer.

Parameters
[out]strNameIString Reference to return the name
Returns
Standard Result Code of base::IString::Set.

Definition at line 129 of file samplereader.h.

References sample_streamer< INTERFACE, PINTYPE >::m_strName.

◆ ResetPin() [1/2]

void ResetPin ( )
inline

Resets the pin reference to nullptr.

This is only internaly used.

Returns
void

Definition at line 116 of file samplereader.h.

References sample_streamer< INTERFACE, PINTYPE >::m_poPin.

Referenced by sample_streamer< INTERFACE, PINTYPE >::~sample_streamer(), and sample_streamer< INTERFACE, PINTYPE >::ResetPin().

◆ ResetPin() [2/2]

void ResetPin ( ucom::ant::object_ptr< PINTYPE > &  pPin)
inline

Resets the pin reference This is only internaly used.

Parameters
[in]pPinpin referencing to
Returns
void

Definition at line 95 of file samplereader.h.

References sample_streamer< INTERFACE, PINTYPE >::m_poPin, and sample_streamer< INTERFACE, PINTYPE >::ResetPin().

◆ SetName()

void SetName ( const char *  strName)
inline

Sets the name of the streamer.

Parameters
[in]strNamename to be set
Returns
void

Definition at line 84 of file samplereader.h.

References sample_streamer< INTERFACE, PINTYPE >::m_strName.

◆ SetType()

tResult SetType ( const ucom::ant::iobject_ptr< const IStreamType > &  pStreamType)
inline

Sets the StreamType of the streamer.

It will create a deep copy.

Parameters
[in]pStreamTypeStreamType to set.
Returns
Standard Result Code of base::IString::Set.

Definition at line 140 of file samplereader.h.