ADTF
Loading...
Searching...
No Matches
adtf::streaming::ant::IFilter Class Referenceabstract

#include <filter_intf.h>

Inherits adtf::streaming::ant::INamedGraphObject, adtf::streaming::ant::IDataBinding, adtf::streaming::ant::IRuntimeBehaviour, and adtf::streaming::ant::IInterfaceBinding.

Inherited by adtf::streaming::ant::IFilterGraph.

Public Types

enum class  tFilterState : uint8_t {
  State_Shutdown = 0 , State_Constructed = 1 , State_Initialized = 2 , State_Ready = 3 ,
  State_Running = 4
}
 
- Public Types inherited from adtf::streaming::ant::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 adtf::streaming::ant::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
 
virtual tFilterState GetState () const =0
 
- Public Member Functions inherited from adtf::streaming::ant::INamedGraphObject
 ADTF_IID (INamedGraphObject, "namedgraphobject.ant.streaming.adtf.iid")
 defintion of interface id
 
virtual tResult GetName (base::ant::IString &&strName) const =0
 
virtual tResult SetName (const char *strName)=0
 
virtual tResult SetParent (const ucom::ant::IObject *oParentObject)=0
 
virtual tResult GetParent (const ucom::ant::IObject *&poParentObject) const =0
 
- Public Member Functions inherited from adtf::ucom::ant::IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 
- Public Member Functions inherited from adtf::streaming::ant::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
 
virtual tResult FindPin (const char *strName, ucom::ant::iobject_ptr< ucom::ant::IObject > &pPin) const =0
 
- Public Member Functions inherited from adtf::streaming::ant::IRuntimeBehaviour
 ADTF_IID (IRuntimeBehaviour, "runtime_behaviour.ant.streaming.adtf.iid")
 defintion of interface id.
 
virtual tResult GetRunners (iobject_list< IRunner > &lstRunners) const =0
 
virtual tResult FindRunner (const char *strName, iobject_ptr< adtf::ucom::ant::IObject > &pRunner) const =0
 
virtual tResult GetInnerPipes (iobject_list< ITriggerPipe > &lstInnerTriggerPipes) const =0
 
- Public Member Functions inherited from adtf::streaming::ant::IInterfaceBinding
 ADTF_IID (IInterfaceBinding, "interface_binding.ant.streaming.adtf.iid")
 definition of interface id
 
virtual tResult GetBindingObjects (iobject_list< IBindingObject > &lstBindingObject)=0
 
virtual tResult GetBindingObjects (iobject_list< const IBindingObject > &lstBindingObject) const =0
 
virtual tResult FindBindingObject (const char *strName, iobject_ptr< adtf::ucom::ant::IObject > &pIBindingObject)=0
 
virtual tResult FindBindingObject (const char *strName, iobject_ptr< const adtf::ucom::ant::IObject > &pIBindingObject) const =0
 

Protected Member Functions

 ~IFilter ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::streaming::ant::INamedGraphObject
 ~INamedGraphObject ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::ucom::ant::IObject
 ~IObject ()=default
 Protected destructor --> Only the final implementation can be destroyed!
 
- Protected Member Functions inherited from adtf::streaming::ant::IDataBinding
 ~IDataBinding ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::streaming::ant::IRuntimeBehaviour
 ~IRuntimeBehaviour ()=default
 not destructable
 
- Protected Member Functions inherited from adtf::streaming::ant::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, filter graph_state_machine

Member Enumeration Documentation

◆ tFilterState

enum class adtf::streaming::ant::IFilter::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.
  • All properties of all pins have been set and can be read 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.

Member Function Documentation

◆ GetState()

virtual tFilterState adtf::streaming::ant::IFilter::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 adtf::streaming::ant::IFilter::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.

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