ADTF
Loading...
Searching...
No Matches
adtf::filter::testing::cTestWriter Class Reference

#include <test_writer.h>

Inherited by adtf::filter::testing::penguin::cTestWriterWithSubStreams.

Public Member Functions

 cTestWriter (const ucom::ant::iobject_ptr< ucom::ant::IObject > &pObject, const char *strPinName, const filter::flash::cStreamTypeHelper &oType=streaming::stream_meta_type_anonymous())
 Construct a new Test Writer object.
 
 cTestWriter (const ucom::ant::iobject_ptr< ucom::ant::IObject > &pObject, const char *strPinName, const filter::flash::cStreamTypeHelper &oType, std::function< void(uint32_t, const base::IProperties *)> fnRequest, std::function< void(uint32_t)> fnCancel)
 Construct a new Test Writer object.
 
 ~cTestWriter ()
 Destroy the c Test Writer object.
 
void ChangeType (const filter::flash::cStreamTypeHelper &oType)
 Emulates a stream type change during writing. Usually this happens if the content for the samples changes.
 
template<typename T>
void Write (base::flash::tNanoSeconds tmTimeStamp, const T &xValue, bool bTrigger=false)
 Writes one sample with the sample buffer content of T into the writing stream.
 
template<typename T>
void Write (const T &xValue, bool bTrigger=false)
 Writes one sample with the sample buffer content of T into the writing stream.
 
template<typename T>
void WriteSubStream (uint32_t nSubStreamId, base::flash::tNanoSeconds tmTimeStamp, const T &xValue, bool bTrigger=false)
 Writes one sample with the sample buffer content of T into the writing stream and mark it as part of the SubStream with ID nSubStreamId.
 
template<typename T>
void WriteSubStream (uint32_t nSubStreamId, const T &xValue, bool bTrigger=false)
 Writes one sample with the sample buffer content of T into the writing stream and mark it as part of the SubStream with ID nSubStreamId.
 
void WriteSample (const ucom::ant::iobject_ptr< const streaming::ant::ISample > &pSample)
 Writes the given sample into the writing stream.
 
void ManualTrigger (base::flash::tNanoSeconds tmActivationTime=base::flash::tNanoSeconds{-1})
 Sends a manual trigger call into the runner pipe of the.
 
void SetRequestCallbacks (std::function< void(uint32_t, const base::IProperties *)> fnRequest, std::function< void(uint32_t)> fnCancel)
 Set the callbacks for the request calls on substreams.
 

Protected Member Functions

base::flash::tNanoSeconds GetCurrentStreamTime () const
 Gets the current stream time (if any clock is present within the _runtime singleton).
 

Detailed Description

Tester helper class to emulate a writing OutPin to InPin connection for sending samples and type to a filters/sample sinks InPin as a stream of samples.

It will be connected to the filters data and trigger pipe.

  • It creates a writing stream of samples and types into the data pipe:
  • [initial_type] [sample] [sample] [sample] [type_change] [sample] [sample] ...
  • It creates the trigger calls for the data triggers on the connected pin.

Constructor & Destructor Documentation

◆ cTestWriter() [1/2]

adtf::filter::testing::giant::cTestWriter::cTestWriter ( const ucom::ant::iobject_ptr< ucom::ant::IObject > & pObject,
const char * strPinName,
const filter::flash::cStreamTypeHelper & oType = streaming::stream_meta_type_anonymous() )

Construct a new Test Writer object.

Parameters
pObjectthe filter or sample sink
strPinNamethe pin name of the filter or sample sink to write to
oTypethe initialized stream type for the connection (this emulates the stream type on writing side)

◆ cTestWriter() [2/2]

adtf::filter::testing::giant::cTestWriter::cTestWriter ( const ucom::ant::iobject_ptr< ucom::ant::IObject > & pObject,
const char * strPinName,
const filter::flash::cStreamTypeHelper & oType,
std::function< void(uint32_t, const base::IProperties *)> fnRequest,
std::function< void(uint32_t)> fnCancel )

Construct a new Test Writer object.

Parameters
pObjectthe filter or sample sink
strPinNamethe pin name of the filter or sample sink to write to
oTypethe initialized stream type for the connection (this emulates the stream type on writing side)
fnRequestcallback that is invoked while the filter requests a substream
fnCancelcallback that is invoked while the filter cancels/resets the request of a substream

Member Function Documentation

◆ ChangeType()

void adtf::filter::testing::giant::cTestWriter::ChangeType ( const filter::flash::cStreamTypeHelper & oType)

Emulates a stream type change during writing. Usually this happens if the content for the samples changes.

Parameters
oTypethe new stream type to write into the stream.

◆ GetCurrentStreamTime()

base::flash::tNanoSeconds adtf::filter::testing::giant::cTestWriter::GetCurrentStreamTime ( ) const
protected

Gets the current stream time (if any clock is present within the _runtime singleton).

Returns
base::flash::tNanoSeconds

◆ ManualTrigger()

void adtf::filter::testing::giant::cTestWriter::ManualTrigger ( base::flash::tNanoSeconds tmActivationTime = base::flash::tNanoSeconds{-1})

Sends a manual trigger call into the runner pipe of the.

Parameters
tmActivationTimeThe time for the trigger. (if set to default the current stream time will be used)

◆ SetRequestCallbacks()

void adtf::filter::testing::giant::cTestWriter::SetRequestCallbacks ( std::function< void(uint32_t, const base::IProperties *)> fnRequest,
std::function< void(uint32_t)> fnCancel )

Set the callbacks for the request calls on substreams.

Parameters
fnRequestcallback that is invoked while the filter requests a substream
fnCancelcallback that is invoked while the filter cancels/resets the request of a substream

◆ Write() [1/2]

template<typename T>
void adtf::filter::testing::giant::cTestWriter::Write ( base::flash::tNanoSeconds tmTimeStamp,
const T & xValue,
bool bTrigger = false )
inline

Writes one sample with the sample buffer content of T into the writing stream.

Template Parameters
Tthe type of the sample buffers content
Parameters
tmTimeStampthe time for the sample
xValuethe value to write to the sample buffer
bTriggerindicates wether a manual trigger will be send or not

◆ Write() [2/2]

template<typename T>
void adtf::filter::testing::giant::cTestWriter::Write ( const T & xValue,
bool bTrigger = false )
inline

Writes one sample with the sample buffer content of T into the writing stream.

Remarks
The time of the sampel will be the current stream time (if any clock is present within the _runtime singleton)
Template Parameters
Tthe type of the sample buffers content
Parameters
xValuethe value to write to the sample buffer
bTriggerindicates wether a manual trigger will be send or not

◆ WriteSample()

void adtf::filter::testing::giant::cTestWriter::WriteSample ( const ucom::ant::iobject_ptr< const streaming::ant::ISample > & pSample)

Writes the given sample into the writing stream.

Parameters
pSamplethe sample to write

◆ WriteSubStream() [1/2]

template<typename T>
void adtf::filter::testing::giant::cTestWriter::WriteSubStream ( uint32_t nSubStreamId,
base::flash::tNanoSeconds tmTimeStamp,
const T & xValue,
bool bTrigger = false )
inline

Writes one sample with the sample buffer content of T into the writing stream and mark it as part of the SubStream with ID nSubStreamId.

Template Parameters
Tthe type of the sample buffers content
Parameters
tmTimeStampthe time for the sample
xValuethe value to write to the sample buffer
bTriggerindicates wether a manual trigger will be send or not

◆ WriteSubStream() [2/2]

template<typename T>
void adtf::filter::testing::giant::cTestWriter::WriteSubStream ( uint32_t nSubStreamId,
const T & xValue,
bool bTrigger = false )
inline

Writes one sample with the sample buffer content of T into the writing stream and mark it as part of the SubStream with ID nSubStreamId.

Remarks
The time of the sampel will be the current stream time (if any clock is present within the _runtime singleton)
Template Parameters
Tthe type of the sample buffers content
Parameters
xValuethe value to write to the sample buffer
bTriggerindicates wether a manual trigger will be send or not

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