ADTF
Loading...
Searching...
No Matches
adtf::streaming::ant::cSampleStreamingSink Class Reference

#include <streaming_sink.h>

Inherits adtf::streaming::ant::cRuntimeBehaviour, adtf::streaming::ant::streaming_level_machine, and adtf::ucom::catwo::object< ucom::ant::cClassInfo, base::ant::configuration<>, IDynamicDataBinding, IStreamingService, IStreamingSink, data_binding< named_graph_object< ISampleStreamingSink > > >.

Public Member Functions

 cSampleStreamingSink ()
 private d_ptr impl.
 
 cSampleStreamingSink (const char *strName)
 
virtual ~cSampleStreamingSink ()
 DTOR.
 
tResult SetState (tStreamingState eState) override
 
IStreamingSink::tStreamingState GetState () override
 
tResult RequestPin (const char *strName, const adtf::ucom::ant::iobject_ptr< const IStreamType > &pType, adtf::ucom::ant::iobject_ptr< IInPin > &pInPin) override
 
tResult RequestPin (const char *strName, const adtf::ucom::ant::iobject_ptr< const IStreamType > &pType, adtf::ucom::ant::iobject_ptr< IOutPin > &pOutPin) override
 
tResult RegisterPin (const ucom::ant::iobject_ptr< IPin > &pPin)
 
tResult Destruct () override
 
tResult StartStreaming () override
 
tResult StopStreaming () override
 
tResult RegisterPin (const ucom::ant::iobject_ptr< IInPin > &pIInPin)
 
tResult RegisterPin (const ucom::ant::iobject_ptr< IOutPin > &pIOutPin)
 
virtual tResult RegisterRunner (const ucom::ant::iobject_ptr< IRunner > &pRunner)
 
virtual tResult RegisterRunner (const char *strName, base::ant::IRunnable &oRunnable)
 
virtual tResult RegisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe)
 
- Public Member Functions inherited from adtf::streaming::ant::cRuntimeBehaviour
tResult GetRunners (ucom::ant::iobject_list< IRunner > &lstRunners) const
 copydoc IRuntimeBehaviour::GetRunners
 
tResult FindRunner (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pRunner) const
 copydoc IRuntimeBehaviour::FindRunner
 
tResult GetInnerPipes (ucom::ant::iobject_list< ITriggerPipe > &lstInnerpTriggerPipe) const
 copydoc IRuntimeBehaviour::GetInnerPipes
 
virtual tResult UnregisterRunner (const ucom::ant::iobject_ptr< IRunner > &pRunner)
 
tResult ReleaseRunners ()
 
virtual tResult UnregisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe)
 
tResult ReleaseTriggerPipes ()
 
- Public Member Functions inherited from adtf::ucom::ant::level_machine< Subclass, LevelType, START_LEVEL >
template<typename ... InnerHandlers>
tResult ChangeLevel (LevelType eLevel)
 
- Public Member Functions inherited from adtf::ucom::catwo::object< ucom::ant::cClassInfo, base::ant::configuration<>, IDynamicDataBinding, IStreamingService, IStreamingSink, data_binding< named_graph_object< ISampleStreamingSink > > >
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")
 

Additional Inherited Members

- Protected Types inherited from adtf::ucom::ant::level_machine< Subclass, LevelType, START_LEVEL >
enum  tDirection : uint8_t { Inc = 0 , Dec = 1 }
 Direction of entering a new Level. More...
 
typedef tResult(Subclass::* tChangeMethod) ()
 Defintion of function type called within the handler implementation.
 
- Protected Member Functions inherited from adtf::streaming::ant::cRuntimeBehaviour
 cRuntimeBehaviour ()
 private _d-pointer
 
virtual ~cRuntimeBehaviour ()
 DTOR.
 
- Protected Member Functions inherited from adtf::streaming::ant::streaming_level_machine
 streaming_level_machine (const streaming_level_machine &)=delete
 
 streaming_level_machine (streaming_level_machine &&)=delete
 
streaming_level_machineoperator= (const streaming_level_machine &)=delete
 
streaming_level_machineoperator= (streaming_level_machine &&)=delete
 
tResult SetLevel (IStreamingService::tStreamingState eStreamingState)
 
virtual tResult Construct ()
 
virtual tResult Init ()
 
virtual tResult Shutdown ()
 
- Protected Member Functions inherited from adtf::ucom::ant::level_machine< Subclass, LevelType, START_LEVEL >
virtual ~level_machine ()=default
 DTOR.
 
LevelType GetLevel () const
 
- Protected Member Functions inherited from adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 

Detailed Description

Basic implementation for a streaming sink.

This has been superseeded by adtf::filter::flash::cSampleStreamingSink.

This implementation is able to:

Use the provided transition callbacks to override the behaviour but do not forget to call the base type implementation.

  • Construct
  • Destruct
  • Init
  • Shutdown
  • StartStreaming
  • StopStreaming
See also
subsection_sample_stream_sink
adtf::filter::flash::cSampleStreamingSink

Constructor & Destructor Documentation

◆ cSampleStreamingSink() [1/2]

adtf::streaming::ant::cSampleStreamingSink::cSampleStreamingSink ( )

private d_ptr impl.

CTOR

◆ cSampleStreamingSink() [2/2]

adtf::streaming::ant::cSampleStreamingSink::cSampleStreamingSink ( const char * strName)

CTOR with name.

will immediatelly set the name of the named_graph_object

Parameters
strName[in] Name of the object

Member Function Documentation

◆ Destruct()

tResult adtf::streaming::ant::cSampleStreamingSink::Destruct ( )
overridevirtual

Destruct transition while changing from tStreamingState::State_Constructed to tStreamState::State_Shutdown.

Returns
Returns a standard result code which depends on the implementation.

Reimplemented from adtf::streaming::ant::streaming_level_machine.

◆ RegisterInnerPipe()

virtual tResult adtf::streaming::ant::cRuntimeBehaviour::RegisterInnerPipe ( const ucom::ant::iobject_ptr< ITriggerPipe > & pTriggerPipe)
virtual

Registers and publishes an inner ITriggerPipe object to the IRuntimeBehaviour.

Parameters
pTriggerPipe[in] The ITriggerPipe to register.
Returns
Standard Result Code

Reimplemented from adtf::streaming::ant::cRuntimeBehaviour.

◆ RegisterPin() [1/2]

tResult adtf::streaming::ant::cDataBinding::RegisterPin ( const ucom::ant::iobject_ptr< IInPin > & pIInPin)

Registers a InPin in a pin list.

Parameters
pIInPin[in] Pin to register.
Returns
Standard result code.

◆ RegisterPin() [2/2]

tResult adtf::streaming::ant::cDataBinding::RegisterPin ( const ucom::ant::iobject_ptr< IOutPin > & pIOutPin)

Registers a InPin in a pin list.

Parameters
pIOutPin[in] Pin to register.
Returns
Standard result code.

◆ RegisterRunner() [1/2]

virtual tResult adtf::streaming::ant::cRuntimeBehaviour::RegisterRunner ( const char * strName,
base::ant::IRunnable & oRunnable )
virtual

Create and Registers a IRunner object for your oRunnable with the name strName.

Parameters
strName[in] Name of the Runner to create and register.
oRunnable[in] The reference to the Runnable implemetation which will be called.
Remarks
Make sure the instance of the oRunnable lives as long the runner is registered.
Returns
Standard Result Code
Return values
ERR_INVALID_ARGA Runner with the same name is already registered.

Reimplemented from adtf::streaming::ant::cRuntimeBehaviour.

◆ RegisterRunner() [2/2]

virtual tResult adtf::streaming::ant::cRuntimeBehaviour::RegisterRunner ( const ucom::ant::iobject_ptr< IRunner > & pRunner)
virtual

Registers and publishes a IRunner object to the IRuntimeBehaviour. This makes sure the runner is only registered once. The Runner has to have a name already set. You can not register a Runner with the same name twice.

Parameters
pRunner[in] The object reference to the Runner which will be published.
Returns
Standard Result Code
Return values
ERR_INVALID_ARGA Runner with the same name is already registered.

Reimplemented from adtf::streaming::ant::cRuntimeBehaviour.

◆ StartStreaming()

tResult adtf::streaming::ant::cSampleStreamingSink::StartStreaming ( )
overridevirtual

StatrStreaming transition while changing from tStreamState::State_Initialized to tStreamingState::State_Streaming.

Use this transition callback to initalize and start threads and timers.

Note
Make sure to call the parent implementation of the used base class at the beginning within your overriding function!
Returns
Returns a standard result code which depends on the implementation.

Reimplemented from adtf::streaming::ant::streaming_level_machine.

◆ StopStreaming()

tResult adtf::streaming::ant::cSampleStreamingSink::StopStreaming ( )
overridevirtual

StopStreaming transition while changing from tStreamingState::State_Streaming to tStreamState::State_Initialized.

Use this transition callback to stop and destroy threads and timers.

Keep in mind, that streaming and triggers might still occur during and after this function is called. Streaming will only have stopped completely before any other following state change. If your streaming service has any blocking operations during the handling of triggers, make sure that you cancel them in this function.

Note
Make sure to call the parent implementation of the used base class at the end within your overriding function!
Returns
Returns a standard result code which depends on the implementation.
Return values
ERR_NOERRORSuccessfully constructed
anyError The Streaming Graph will stop starting.

Reimplemented from adtf::streaming::ant::streaming_level_machine.


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