ADTF  3.15.1
sample_writer< DATA_TYPE >

Specialized Sample Writer to write DATA of type DATA_TYPE. More...

Inheritance diagram for sample_writer< DATA_TYPE >:
[legend]

Public Member Functions

tResult Transmit (const DATA_TYPE &oSampleData)
 
- Public Member Functions inherited from cSampleWriter
 cSampleWriter ()
 CTOR.
 
virtual ~cSampleWriter ()
 DTOR.
 
 cSampleWriter (const char *strName, const ucom::ant::iobject_ptr< const IStreamType > &pStreamType)
 CTOR with name and type. More...
 
tResult BeginStreaming (ISampleStream &oSampleStream) override
 BeginStreaming will open the given Sample Stream for Writing while a connection is establishing. More...
 
tResult EndStreaming () override
 Sample Stream disconnected. More...
 
virtual tResult Transmit (const ucom::ant::iobject_ptr< const ISample > &pSample)
 Transmits and writes a sample reference to the opened ISampleOutStream. More...
 
virtual tResult ChangeType (const ucom::ant::iobject_ptr< const IStreamType > &pType)
 Changes and writes a stream type reference to the opened ISampleOutStream. More...
 
virtual tResult Flush ()
 Flushes a the opened ISampleOutStream. More...
 
virtual tResult SetStreamError (tResult oErr)
 Writes an error to the opened ISampleOutStream. More...
 
tResult ManualTrigger ()
 This is to Run a trigger call manually. More...
 
- Public Member Functions inherited from sample_streamer< ISampleWriter, cOutPin >
 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< cOutPin > &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
 

Additional Inherited Members

- Public Types inherited from sample_streamer< ISampleWriter, cOutPin >
typedef cOutPin pin_type
 
- Protected Types inherited from cSampleWriter
typedef sample_streamer< ISampleWriter, cOutPinbase_type
 base type
 
- Protected Member Functions inherited from sample_streamer< ISampleWriter, cOutPin >
 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 Member Functions inherited from ISampleWriter
 ~ISampleWriter ()=default
 not destructable
 
- Protected Member Functions inherited from ISampleStreamer
 ~ISampleStreamer ()=default
 not destructable
 
- Protected Attributes inherited from cSampleWriter
ucom::object_ptr< ISampleOutStreamm_pOutStream
 The SampleOutStream which is opened while BeginStreaming.
 
ucom::object_ptr< adtf::services::IReferenceClock_clock
 
- Protected Attributes inherited from sample_streamer< ISampleWriter, cOutPin >
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< cOutPinm_poPin
 pin reference reading/writing from
 

Detailed Description

template<typename DATA_TYPE>
class adtf::streaming::ant::sample_writer< DATA_TYPE >

Specialized Sample Writer to write DATA of type DATA_TYPE.

The operator<< will be overloaded to write data.

Definition at line 246 of file samplewriter.h.

Member Function Documentation

◆ Transmit()

tResult Transmit ( const DATA_TYPE &  oSampleData)
inline
   The Transmit call for data transmission will create a sample and set the current time from @ref adtf::services::ant::IReferenceClock::GetStreamTime.


   @param oSampleData [in]  Data of type \p DATA_TYPE

   @remark This is only rtsafe if you use a @ref section_sample_pool and a @ref section_memory_allocator
   \note rtsafe{using @ref section_sample_pool and a @ref section_memory_allocator}

   @note Use as followed:
//Definition within the class header
struct tMyData
{
tMyData(int32_t nVal, float fVal)
: nValue(nVal), fValue(fVal)
{
}
int32_t nValue = 0;
float fValue = 0;
};
class cMyFilter : public adtf::streaming::cFilterBase
{
//...
//...
}
The cFilterBase class implements a basic filter that supports the ant::IFilter interfaces.
Definition: filterbase.h:37
Specialized Sample Writer to write data of a given type DATA_TYPE (see Supported types for adtf_memor...
Definition: samplewriter.h:448


//...
tMyData sData1 = { 1, 1.1 };
tMyData sData2 = { 2, 2.2 };
m_oWriter << sData1 << sData2 << adtf::streaming::trigger;
//...
WRITER_TYPE & trigger(WRITER_TYPE &oWriter)
Global function template to trigger a writers sample stream manually.

Definition at line 289 of file samplewriter.h.

References _runtime, IRuntime::CreateInstance(), IS_OK, RETURN_IF_FAILED, and cSampleWriter::Transmit().