ADTF
IFilterabstract

The IFilter interfaces provides methods for controlling a filter. More...

Inheritance diagram for IFilter:
[legend]

Public Types

enum class  tFilterState : uint8_t {
  State_Shutdown = 0 , State_Constructed = 1 , State_Initialized = 2 , State_Ready = 3 ,
  State_Running = 4
}
 specifies the several types of filter states More...
 
- Public Types inherited from IRuntimeBehaviour
template<typename T >
using iobject_ptr = adtf::ucom::ant::iobject_ptr< T >
 used iobject_ptr
 
template<typename T >
using iobject_list = adtf::ucom::ant::iobject_list< T >
 used iobject_list
 
- Public Types inherited from IInterfaceBinding
template<typename T >
using iobject_list = adtf::ucom::ant::iobject_list< T >
 used type for iobject_list
 
template<typename T >
using iobject_ptr = adtf::ucom::ant::iobject_ptr< T >
 used type for iobject_ptr
 

Public Member Functions

 ADTF_IID (IFilter, "filter.ant.streaming.adtf.iid")
 definiton of interface id
 
virtual tResult SetState (tFilterState eFilterState)=0
 Sets the state of the filter. More...
 
virtual tFilterState GetState () const =0
 Retrieves the state of the filter. More...
 
- Public Member Functions inherited from INamedGraphObject
 ADTF_IID (INamedGraphObject, "namedgraphobject.ant.streaming.adtf.iid")
 defintion of interface id
 
virtual tResult GetName (base::ant::IString &&strName) const =0
 Gets the Name of the object to the IString rvalue reference strName. More...
 
virtual tResult SetName (const char *strName)=0
 Sets the Name of the object. More...
 
virtual tResult SetParent (const ucom::ant::IObject *oParentObject)=0
 Sets the Parent of the object. More...
 
virtual tResult GetParent (const ucom::ant::IObject *&poParentObject) const =0
 Retrieves the Parent of the object. 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 IDataBinding
 ADTF_IID (IDataBinding, "data_binding.ant.streaming.adtf.iid")
 defintion of interface id
 
virtual tResult GetPins (ucom::ant::iobject_list< IPin > &lstPins) const =0
 Returns the current Pins (only const access). More...
 
virtual tResult FindPin (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pPin) const =0
 Find a Pin with the name of strName (only const access) More...
 
- Public Member Functions inherited from IRuntimeBehaviour
 ADTF_IID (IRuntimeBehaviour, "runtime_behaviour.ant.streaming.adtf.iid")
 defintion of interface id.
 
virtual tResult GetRunners (iobject_list< IRunner > &lstRunners) const =0
 Returns the current Runners. More...
 
virtual tResult FindRunner (const char *strName, iobject_ptr< adtf::ucom::ant::IObject > &pRunner) const =0
 Find a Runner with the name of strName (only const access) More...
 
virtual tResult GetInnerPipes (iobject_list< ITriggerPipe > &lstInnerTriggerPipes) const =0
 Returns the current internal TriggerPipes. More...
 
- Public Member Functions inherited from IInterfaceBinding
 ADTF_IID (IInterfaceBinding, "interface_binding.ant.streaming.adtf.iid")
 definition of interface id
 
virtual tResult GetBindingObjects (iobject_list< IBindingObject > &lstBindingObject)=0
 Return a list of all Binding Objects on lstBindingObject. More...
 
virtual tResult GetBindingObjects (iobject_list< const IBindingObject > &lstBindingObject) const =0
 Return a list of all Binding Objects on lstBindingObject. More...
 
virtual tResult FindBindingObject (const char *strName, iobject_ptr< adtf::ucom::ant::IObject > &pIBindingObject)=0
 This Function will search a binding object with the given strName and return it on pIBindingObject. More...
 
virtual tResult FindBindingObject (const char *strName, iobject_ptr< const adtf::ucom::ant::IObject > &pIBindingObject) const =0
 This Function will search a binding object with the given strName and return it on pIBindingObject. More...
 

Protected Member Functions

 ~IFilter ()=default
 not destructable
 
- Protected Member Functions inherited from INamedGraphObject
 ~INamedGraphObject ()=default
 not destructable
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Member Functions inherited from IDataBinding
 ~IDataBinding ()=default
 not destructable
 
- Protected Member Functions inherited from IRuntimeBehaviour
 ~IRuntimeBehaviour ()=default
 not destructable
 
- Protected Member Functions inherited from IInterfaceBinding
 ~IInterfaceBinding ()=default
 not destructable
 

Detailed Description

The IFilter interfaces provides methods for controlling a filter.

All filters expose this interface. A FilterGraph uses this interface to control the filters state and connections. Applications can use this interface to enumerate pins and query other filter information, but should not use it to change the state of a filter. Instead, use the adtf::ucom::_runtime refernce to change system level when using in default ADTF Launcher Application. The default implementation of FilterGraph used in adtf::services::ant::ISessionManager will manage the filters state by run level change events.

See also
Filter State Machine, Filter, States of the Filter Graph

Definition at line 29 of file filter_intf.h.

Member Enumeration Documentation

◆ tFilterState

enum tFilterState : uint8_t
strong

specifies the several types of filter states

See also
Filter State Machine
Enumerator
State_Shutdown 

Filter is New / Shutdown.

State_Constructed 

The Filter is fully created (Init(StageFirst) has been called):

State_Initialized 

The Filter is fully initialized (Init(StageNormal) has been called):

State_Ready 

The Filter is ready for streaming (Init(StageGraphReady) has been called):

  • All dynamic pins, binding objects, runners are requested before this state and must be registered !!
  • The filter is connected now.
  • Remark: Pins, Runners, Binding Objects created here will not be taken in concern!
State_Running 

Filter is in streaming State, all pins are activated for streaming (Start() has been called):

  • The filter is receiving Triggers.

Definition at line 43 of file filter_intf.h.

Member Function Documentation

◆ GetState()

virtual tFilterState GetState ( ) const
pure virtual

Retrieves the state of the filter.

The GetState method retrieves the filters state.

Returns
Returns the filters current state.
See also
IFilter::tFilterState, Filter State Machine

◆ SetState()

virtual tResult SetState ( tFilterState  eFilterState)
pure virtual

Sets the state of the filter.

The SetState method sets the filters state. See cFilterBase how the state machine should be implemented.

See also
Filter State Machine
Parameters
eFilterState[in] The filters state to switch to.
Returns
Returns a standard result code.