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

#include <test_writer.h>

Inherits adtf::filter::testing::giant::cTestWriter.

Public Member Functions

 cTestWriterWithSubStreams (const adtf::ucom::ant::iobject_ptr< adtf::ucom::ant::IObject > &pObject, const char *strPinName, const adtf::filter::flash::cStreamTypeHelper &oType=adtf::streaming::stream_meta_type_anonymous())
 CTOR.
 
void ChangeType (const filter::flash::cStreamTypeHelper &oType)
 Emulates a stream type change during writing. Usually this happens if the content for the samples changes.
 
bool IsSubstreamRequested (uint32_t ui32SubStreamId) const
 Determines if the given ui32SubStreamId was requested.
 
std::set< uint32_t > GetCurrentRequests () const
 Retrieve a copy of the current requested substream ids.
 
- Public Member Functions inherited from 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.
 
 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.
 

Additional Inherited Members

- Protected Member Functions inherited from adtf::filter::testing::giant::cTestWriter
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 is designed for testing the writing streams with substreams as it collects the current request and cancel request calls. Use IsSubstreamRequested or GetCurrentRequests to discover the current requested substream ids.

Remarks
The class will not check the samples substream id if it was really requested while writing.

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

◆ cTestWriterWithSubStreams()

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

CTOR.

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)

Member Function Documentation

◆ ChangeType()

void adtf::filter::testing::penguin::cTestWriterWithSubStreams::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.
Remarks
It will clear all Substream Ids

◆ GetCurrentRequests()

std::set< uint32_t > adtf::filter::testing::penguin::cTestWriterWithSubStreams::GetCurrentRequests ( ) const

Retrieve a copy of the current requested substream ids.

Returns
std::set<uint32_t> the substream ids
Remarks
thread-safe against any request or cancel request call

◆ IsSubstreamRequested()

bool adtf::filter::testing::penguin::cTestWriterWithSubStreams::IsSubstreamRequested ( uint32_t ui32SubStreamId) const

Determines if the given ui32SubStreamId was requested.

Parameters
ui32SubStreamIdthe substream id to check
Returns
true the substream id was requested
false the substream id was not requested or the request was canceled.
Remarks
thread-safe against any request or cancel request call

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