ADTF
|
Base class for ADTF filters. More...
Public Types | |
template<typename T > | |
using | iobject_ptr = adtf::ucom::ant::iobject_ptr< T > |
Public Member Functions | |
tResult | Init (tInitStage eStage) override |
Initializes the filter. More... | |
tResult | Start () override |
Reset your internal data here. More... | |
tResult | Stop () override |
Implements the default cFilterLevelmachine state machine calls. More... | |
tResult | Shutdown (tInitStage eStage) override |
Implements the default cFilterLevelmachine state machine call. More... | |
tResult | SetName (const char *strName) override |
tResult | GetName (base::ant::IString &&strName) const override |
tResult | SetParent (const ucom::ant::IObject *poParentObject) override |
tResult | GetParent (const ucom::ant::IObject *&poParentObject) const override |
tResult | GetPins (ucom::ant::iobject_list< streaming::ant::IPin > &oPins) const override |
tResult | FindPin (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pPin) const override |
tResult | GetBindingObjects (ucom::ant::iobject_list< streaming::ant::IBindingObject > &lstBindingObject) override |
tResult | GetBindingObjects (ucom::ant::iobject_list< const streaming::ant::IBindingObject > &lstBindingObject) const override |
tResult | FindBindingObject (const char *strName, ucom::ant::iobject_ptr< const ucom::ant::IObject > &pIBindingObject) const override |
tResult | FindBindingObject (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pIBindingObject) override |
tResult | GetRunners (ucom::ant::iobject_list< streaming::ant::IRunner > &lstRunners) const override |
tResult | FindRunner (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pRunner) const override |
tResult | GetInnerPipes (ucom::ant::iobject_list< streaming::ant::ITriggerPipe > &lstInnerTriggerPipes) const override |
tResult | RequestPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IInPin > &pInPin) override |
tResult | RequestPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IOutPin > &pOutPin) override |
tResult | RequestBindingObject (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingClient > &pBindingClient) override |
tResult | RequestBindingObject (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingServer > &pBindingServer) override |
tResult | SetState (tFilterState eFilterState) override |
tFilterState | GetState () const override |
tResult | GetProperties (ucom::ant::iobject_ptr< const base::ant::IProperties > &pProperties) const override |
tResult | GetProperties (ucom::ant::iobject_ptr< base::ant::IProperties > &pProperties) override |
tResult | AttachConfiguration (const char *strName, base::ant::IConfiguration &oAttachedConfiguration) override |
tResult | DetachConfiguration (const char *strName) override |
Public Member Functions inherited from object< streaming::ant::INamedGraphObject, streaming::ant::IDataBinding, streaming::ant::IInterfaceBinding, streaming::ant::IRuntimeBehaviour, streaming::ant::IDynamicDataBinding, streaming::ant::IDynamicInterfaceBinding, streaming::ant::IFilter, base::ant::IConfiguration > | |
tResult | GetInterface (const char *i_strIID, void *&o_pInterface) override |
Query interfaces on an object. More... | |
tResult | GetInterface (const char *i_strIID, const void *&o_pInterface) const override |
Provides const correct interface querying. More... | |
void | Destroy () const override |
Destruct and deallocate instantiations of type IObject . More... | |
Public Member Functions inherited from IObject | |
ADTF_IID (IObject, "object.ant.ucom.adtf.iid") | |
Marks the IObject to be castable with the ucom_cast() More... | |
Public Member Functions inherited from cGraphObject | |
template<typename RequestableWriterType = streaming::requestable_writer<>> | |
RequestableWriterType * | CreateRequestableOutputPin (const char *strName, const cStreamTypeHelper &oType=streaming::ant::stream_meta_type_anonymous()) |
Creates a new requestable output pin with a given stream type. More... | |
virtual tResult | EnableSubStream (streaming::flash::ISampleWriter *pWriter, uint32_t nSubStreamId, const base::ant::IProperties *pRequestProperties=nullptr) |
This is called when the first consumer requests the transmission of samples of a given Substream. More... | |
virtual void | DisableSubStream (streaming::flash::ISampleWriter *pWriter, uint32_t nSubStreamId) |
Called when the last consumer cancels its request for the transmission of samples of a given Substream. More... | |
void | SetHelpLink (const char *strUrl) |
Sets the link to the documentation that tools can display. More... | |
void | SetDescription (const char *strItem, const char *strDescription) |
Set the description for a data Pin, an Interface Binding Object or a Runner. More... | |
Public Member Functions inherited from cGraphObject | |
cGraphObject () | |
Default Constructor. | |
~cGraphObject () override | |
Destructor. | |
virtual tResult | Process (base::flash::tNanoSeconds tmTrigger, streaming::ant::IRunner *pRunner) |
The default Runner function of the graph object. More... | |
virtual tResult | ProcessInput (base::flash::tNanoSeconds tmTrigger, streaming::flash::ISampleReader *pReader) |
Provides access to the reader of incoming data. More... | |
virtual tResult | ProcessInput (streaming::flash::ISampleReader *pReader, const ucom::ant::iobject_ptr< const streaming::ant::ISample > &pSample) |
Provides access to the sample of incoming data. More... | |
virtual tResult | ProcessInput (streaming::flash::ISampleReader *pReader, base::flash::tNanoSeconds tmSample, const void *pSampleData, size_t nSampleDataSize) |
Provides access to the sample content of incoming data. More... | |
template<typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPin (const char *strName, bool bDataInTrigger=true, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with an anonymous stream type. More... | |
template<typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPin (const char *strName, const cStreamTypeHelper &oType, bool bDataInTrigger=true, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with a given stream type. More... | |
template<typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPinWithCallback (const char *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds)> fnTriggerCallback, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with a given stream type. More... | |
template<typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPinWithCallback (const char *strName, const cStreamTypeHelper &oType, std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::ISample > &)> fnSampleCallback, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with a given stream type. More... | |
template<typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPinWithCallback (const char *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds, const void *, size_t)> fnSampleDataCallback, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with a given stream type. More... | |
template<typename Type , typename ReaderType = cPinReader> | |
ReaderType * | CreateInputPinWithCallback (const char *strName, const cStreamTypeHelper &oType, std::function< tResult(base::flash::tNanoSeconds, const Type &)> fnDataCallback, bool bForwardTriggerViaOutputPins=true) |
Creates a new input pin with a given stream type. More... | |
virtual tResult | AcceptType (streaming::flash::ISampleReader *pReader, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType) |
Called whenever a new type is read from a reader that has no other accept type callback (streaming::ant::cSampleReader::SetAcceptTypeCallback) registered. More... | |
template<typename WriterType = cPinWriter> | |
WriterType * | CreateOutputPin (const char *strName) |
Creates a new output pin without an initial stream type. More... | |
template<typename WriterType = cPinWriter> | |
WriterType * | CreateOutputPin (const char *strName, const cStreamTypeHelper &oType) |
Creates a new output pin with a given stream type. More... | |
streaming::ant::IRunner * | CreateRunner (const char *strName, const cTriggerHint &oTriggerHint=cNoTriggerHint(), bool bForwardTriggerViaOutputPins=true) |
Creates a new Runner that can be triggered by an Active Runner. More... | |
streaming::ant::IRunner * | CreateRunner (const char *strName, std::function< tResult(base::flash::tNanoSeconds)> fnRunFunction, const cTriggerHint &oTriggerHint=cNoTriggerHint(), bool bForwardTriggerViaOutputPins=true) |
Creates a new Runner that can be triggered by an Active Runner. More... | |
template<typename Interface , typename Instance > | |
void | CreateInterfaceServer (const char *strName, ucom::ant::enable_object_ptr_from_this< Instance > *pInstance) |
Creates an interface server binding object. More... | |
template<typename Interface > | |
void | CreateInterfaceServer (const char *strName, const ucom::ant::iobject_ptr< Interface > &pInstance) |
Creates an interface server binding object. More... | |
template<typename Interface > | |
interface_client< Interface > | CreateInterfaceClient (const char *strName) |
Creates an interface client binding object. More... | |
template<typename ReaderType = cPinReader> | |
std::shared_ptr< ReaderType > | CreateReader (const char *strName, const cStreamTypeHelper &oType) |
Creates and intializes a new sample reader. More... | |
template<typename WriterType = cPinWriter> | |
std::shared_ptr< WriterType > | CreateWriter (const char *strName, const cStreamTypeHelper &oType) |
Creates and intializes a new sample reader. More... | |
ucom::ant::object_ptr< streaming::ant::IRunner > | RegisterRunner (const char *strName, std::function< tResult(base::flash::tNanoSeconds)> fnRunMethod) |
Creates and registers a new Runner. More... | |
tResult | RegisterRunner (const ucom::ant::iobject_ptr< streaming::ant::IRunner > &pRunner) override |
This is here for compatibility reasons. More... | |
tResult | RegisterRunner (const char *strName, base::flash::IRunnable &oRunnable) |
This is here for compatibility reasons. More... | |
tResult | RegisterRunner (const char *strName, adtf::base::ant::IRunnable &oRunnable) override |
This is here for compatibility reasons. More... | |
tResult | ConfigureDataInTrigger (const char *strRunnerName, const char *strPinName) |
This is here for compatibility reasons. More... | |
tResult | ConfigureDataOutTrigger (const char *strRunnerName, const char *strPinName) |
This is here for compatibility reasons. More... | |
tResult | ConfigureTimerTrigger (const char *strRunnerName, tTimeStamp tmPeriod) |
This is here for compatibility reasons. More... | |
tResult | ConfigureThreadTrigger (const char *strRunnerName, bool bCallCyclic) |
This is here for compatibility reasons. More... | |
virtual tResult | RequestDynamicInputPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType) |
Called whenever a new dynamic input pin is requested. More... | |
virtual tResult | RequestDynamicOutputPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType) |
Called whenever a new dynamic output pin is requested. More... | |
virtual tResult | RequestDynamicInterfaceClient (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType) |
Called whenever a new dynamic interface client binding object is requested. More... | |
virtual tResult | RequestDynamicInterfaceServer (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType) |
Called whenever a new dynamic interface server binding object is requested. More... | |
tResult | RequestPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IInPin > &pInPin) |
For internal use. This will call RequestDynamicInputPin(). | |
tResult | RequestPin (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType, ucom::ant::iobject_ptr< streaming::ant::IOutPin > &pOutPin) |
For internal use. This will call RequestDynamicOutputPin(). | |
tResult | RequestBindingObject (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingClient > &pClient) |
For internal use. This will call RequestDynamicInterfaceClient(). | |
tResult | RequestBindingObject (const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IBindingType > &pType, ucom::ant::iobject_ptr< streaming::ant::IBindingServer > &pServer) |
For internal use. This will call RequestDynamicInterfaceServer(). | |
void | RegisterPropertyVariable (const char *strName, base::ant::cPropertyVariable &oPropertyVariable) |
Registers a new property variable which will always reflect the value of a property. More... | |
void | SetDescription (const char *strDescription) |
Sets the description information that tools can display. More... | |
void | SetEditor (const char *strName, const char *strUrl) |
Sets the editor information that tools can use to edit the objects properties, pins etc. More... | |
Public Member Functions inherited from cNamedGraphObject | |
tResult | GetName (base::ant::IString &&strName) const |
tResult | SetName (const char *strName) |
tResult | SetParent (const ucom::ant::IObject *pParentObject) |
tResult | GetParent (const ucom::ant::IObject *&poParentObject) const |
Public Member Functions inherited from cDataBinding | |
tResult | GetPins (ucom::ant::iobject_list< IPin > &lstPins) const |
Returns the current Pins (only const access). More... | |
tResult | FindPin (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pPin) const |
Find a Pin with the name of strName (only const access) More... | |
virtual tResult | RegisterPin (const ucom::ant::iobject_ptr< IPin > &pIPin) |
Registers a Pin in a pin list. More... | |
tResult | RegisterPin (const ucom::ant::iobject_ptr< IInPin > &pIInPin) |
Registers a InPin in a pin list. More... | |
tResult | RegisterPin (const ucom::ant::iobject_ptr< IOutPin > &pIOutPin) |
Registers a InPin in a pin list. More... | |
virtual tResult | UnregisterPin (const ucom::ant::iobject_ptr< IPin > &pIPin) |
Unregisters a Pin from the pin list. More... | |
tResult | ReleasePins () |
Unregisters all Pins from the pin list. More... | |
virtual tResult | ActivatePins () |
Activate all pins. | |
virtual tResult | DeactivatePins () |
Deactivate all pins. | |
tResult | Disconnect () |
Disconnect all pins. | |
Public Member Functions inherited from cInterfaceBinding | |
cInterfaceBinding () | |
CTOR. | |
virtual | ~cInterfaceBinding () |
DTOR. | |
tResult | GetBindingObjects (ucom::ant::iobject_list< IBindingObject > &lstBindingObject) |
Return a list of all Binding Objects on lstBindingObject . More... | |
tResult | GetBindingObjects (ucom::ant::iobject_list< const IBindingObject > &lstBindingObject) const |
Return a list of all Binding Objects on lstBindingObject . More... | |
tResult | FindBindingObject (const char *strName, ucom::ant::iobject_ptr< const ucom::ant::IObject > &pIBindingObject) const |
This Function will search a binding object with the given strName and return it on pIBindingObject . More... | |
tResult | FindBindingObject (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pIBindingObject) |
This Function will search a binding object with the given strName and return it on pIBindingObject . More... | |
virtual tResult | RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingObject > &pBindingObject) |
RegisterBindingObject will register the given pBindingObject within the internal registry. More... | |
tResult | RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingServer > &pBindingServer) |
Registers the given pBindingServer . More... | |
tResult | RegisterBindingObject (const ucom::ant::iobject_ptr< IBindingClient > &pBindingClient) |
Registers the given pBindingClient . More... | |
tResult | UnregisterBindingObject (const ucom::ant::iobject_ptr< const IBindingObject > &pBindingObject) |
Unregisters the given pBindingObject . More... | |
tResult | Unbind () |
Will Unbind (IBindingObject::Unbind ) every registered binding objects registered with RegisterBindingObject . More... | |
tResult | ReleaseBindingObjects () |
ReleaseBindingObjects will Unbind (IBindingObject::Unbind ) every registered binding objects registered with RegisterBindingObject and unregister them automatically. More... | |
Public Member Functions inherited from 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) |
Unregisters a Runner. More... | |
tResult | ReleaseRunners () |
Release every registered Runners More... | |
virtual tResult | RegisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe) |
Registers and publishes an inner ITriggerPipe object to the IRuntimeBehaviour. More... | |
virtual tResult | UnregisterInnerPipe (const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe) |
Unregisters an inner ITriggerPipe object. More... | |
tResult | ReleaseTriggerPipes () |
Release and unregister every registered TriggerPipes. More... | |
Public Member Functions inherited from cConfiguration | |
cConfiguration () | |
Default constructor. | |
virtual | ~cConfiguration () |
Destructor. | |
tResult | GetProperties (adtf::ucom::ant::iobject_ptr< const IProperties > &pProperties) const |
Gets the properties with read access. More... | |
tResult | GetProperties (adtf::ucom::ant::iobject_ptr< IProperties > &pProperties) |
Gets the properties with read access. More... | |
tResult | AttachConfiguration (const char *strName, IConfiguration &oAttachedConfiguration) |
Attaches the given configuration and its properties as property tree item of this. More... | |
tResult | DetachConfiguration (const char *strName) |
Detaches a configuration with the specified name. More... | |
tResult | RegisterPropertyVariable (const char *strName, ant::cPropertyVariable &oPropertyVariable) |
Registers a property variable that always reflects the current value of the property. More... | |
Private Attributes | |
std::unique_ptr< cImplementation > | m_pImplementation |
Additional Inherited Members | |
Protected Types inherited from cFilterLevelmachine | |
enum | tInitStage : uint8_t { StageFirst = 0 , StageNormal = 1 , StagePreConnect = StageNormal , StageGraphReady = 2 , StagePostConnect = StageGraphReady } |
The Filters InitStages will be used for the cFilterLevelmachine::Init and cFilterLevelmachine::Shutdown call. More... | |
Protected Types inherited from 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 IObject | |
~IObject ()=default | |
Protected destructor --> Use implemented Destroy() instead of delete! | |
Protected Member Functions inherited from cGraphObject | |
void | SetupStreamer (std::shared_ptr< streaming::flash::ISampleStreamer > pStreamer, const char *strName, const ucom::ant::iobject_ptr< const streaming::ant::IStreamType > &pType) |
Used by the templated CreateInputPin() and CreateOutputPin() methods. More... | |
void | CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, bool bDataInTrigger=true, bool bForwardTriggerViaOutputPins=true) |
The implementation used by CreateInputPin(const char*, bool, bool) and CreateInputPin(const char*, const cStreamTypeHelper&, bool, bool) | |
void | CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(base::flash::tNanoSeconds)> fnTriggerCallback, bool bForwardTriggerViaOutputPins=true) |
The implementation used by CreateInputPin(const char*, const cStreamTypeHelper&, std::function<tResult(base::flash::tNanoSeconds)>, bool) | |
void | CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(const ucom::ant::iobject_ptr< const streaming::ant::ISample > &)> fnSampleCallback, bool bForwardTriggerViaOutputPins=true) |
The implementation used by CreateInputPin(const char*, const cStreamTypeHelper&, std::function<tResult(const ucom::ant::iobject_ptr<const streaming::ant::ISample>&)>, bool) | |
void | CreateInputPin (std::shared_ptr< streaming::flash::ISampleReader > pReader, std::function< tResult(base::flash::tNanoSeconds, const void *, size_t)> fnSampleDataCallback, bool bForwardTriggerViaOutputPins=true) |
The implementation used by CreateInputPin(const char*, const cStreamTypeHelper&, std::function<tResult(base::flash::tNanoSeconds, const void*, size_t)>, bool) | |
void | CreateOutputPin (std::shared_ptr< streaming::flash::ISampleWriter > pWriter) |
The implementation used by CreateOutputPin(const char*, const cStreamTypeHelper&), CreateOutputPin(const char*, const cStreamTypeHelper&). | |
Protected Member Functions inherited from cDataBinding | |
cDataBinding () | |
CTOR. | |
virtual | ~cDataBinding () |
DTOR. | |
Protected Member Functions inherited from cRuntimeBehaviour | |
cRuntimeBehaviour () | |
CTOR. | |
virtual | ~cRuntimeBehaviour () |
DTOR. | |
Protected Member Functions inherited from cFilterLevelmachine | |
cFilterLevelmachine ()=default | |
CTOR Default. | |
cFilterLevelmachine (const cFilterLevelmachine &)=delete | |
deleted copy CTOR | |
cFilterLevelmachine (cFilterLevelmachine &&)=delete | |
deleted move CTOR | |
cFilterLevelmachine & | operator= (const cFilterLevelmachine &)=delete |
deleted copy operator | |
cFilterLevelmachine & | operator= (cFilterLevelmachine &&)=delete |
deleted move operator | |
virtual | ~cFilterLevelmachine ()=default |
DTOR Default. | |
tResult | InitStageFirst () |
Internal StateMachine Event. | |
tResult | InitStageNormal () |
Internal StateMachine Event. | |
tResult | InitStageReady () |
Internal StateMachine Event. | |
tResult | ShutdownStageReady () |
Internal StateMachine Event. | |
tResult | ShutdownStageNormal () |
Internal StateMachine Event. | |
tResult | ShutdownStageFirst () |
Internal StateMachine Event. | |
tResult | SetLevel (IFilter::tFilterState eLevel) |
Protected Member Functions inherited from level_machine< Subclass, LevelType, START_LEVEL > | |
virtual | ~level_machine ()=default |
DTOR. | |
LevelType | GetLevel () const |
Returns the current Level of the levelMachine. More... | |
template<typename ... InnerHandlers> | |
tResult | ChangeLevel (LevelType eLevel) |
Change Level raise or decrease the Level level by level and call the given hendler methods. More... | |
Protected Attributes inherited from cGraphObject | |
ucom::ant::object_ptr< services::ant::IReferenceClock > | _clock |
A reference to the clock service. More... | |
std::unique_ptr< cImplementation > | m_pImplementation |
Protected Attributes inherited from cNamedGraphObject | |
const adtf::ucom::ant::IObject * | m_pParent = nullptr |
parent of the named object | |
std::string | m_strName |
name of the | |
Base class for ADTF filters.
Use this as a base for implementing an ADTF filter (that lives and works in the ADTF filter graph). For all available functionality please see adtf::filter::flash::cGraphObject which is a direct base of this class.
Please have a look at the following examples of how to implement filters:
Most of the time you
The class provides many convenience member functions that facilitate the following operations:
For the implementation of dynamic pins, interface clients and interface servers overwrite one or more of the following virtual functions:
To inform the ADTF Configuration Editor about required interfaces, please see Setup dependencies between components.
All Create* methods throw exceptions in case of errors. The ADTF SDK is prepared to cope with exceptions within any of the graph objects methods, especially in your subclasses' constructors. You are also free to throw exceptions (THROW_ERROR_DESC) in methods that return tResult error codes. But if you call methods that return a tResult error code yourself, make sure to wrap them with the appropriate RETURN_IF_FAILED or THROW_IF_FAILED macros.
Definition at line 449 of file filtersdk/include/adtffiltersdk/filter.h.
|
overridevirtual |
Initializes the filter.
This is called three times after all properties have been updated with eStage
set to:
ADTF_LEGACY_CONNECTION_ESTABLISHMENT_ORDER
environment variable to a non-empty value. This will be called during filter state changes and can be overridden by the filter implementation.
[in] | eStage | The Init Stage. See state machine documentation in Filter State Machine. |
Reimplemented from cFilterLevelmachine.
Referenced by filter_with_trigger_function< TriggerFunctionImpl >::Init().
|
overridevirtual |
Implements the default cFilterLevelmachine state machine call.
This will be called during filter state changes and can be overridden by the filter implementation.
[in] | eStage | The Init Stage. See state machine documentation in Filter State Machine. |
Reimplemented from cFilterLevelmachine.
Referenced by filter_with_trigger_function< TriggerFunctionImpl >::Shutdown().
|
overridevirtual |
Reset your internal data here.
This will be called during filter state changes and can be overridden by the filter implementation.
See Filter State Machine.
Reimplemented from cFilterLevelmachine.
|
overridevirtual |
Implements the default cFilterLevelmachine state machine calls.
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 filter has any blocking operations during the handling of triggers, make sure that you cancel them in this function.
This will be called during filter state changes and can be overridden by the filter implementation.
See Filter State Machine.
Reimplemented from cFilterLevelmachine.