ADTF  3.14.3
filter_intf.h
Go to the documentation of this file.
1 
7 #pragma once
9 #include "data_binding_intf.h"
10 #include "runtime_behaviour_intf.h"
11 #include "interface_binding_intf.h"
12 
13 namespace adtf
14 {
15 namespace streaming
16 {
17 namespace ant
18 {
29  class IFilter : public INamedGraphObject,
30  public IDataBinding,
31  public IRuntimeBehaviour,
32  public IInterfaceBinding
33  {
34  protected:
36  ~IFilter() = default;
37  public:
39  ADTF_IID(IFilter, "filter.ant.streaming.adtf.iid");
40 
43  enum class tFilterState: uint8_t
44  {
46  State_Shutdown = 0,
47 
54 
60 
65  State_Ready = 3,
66 
69  State_Running = 4
70  };
71 
85  virtual tResult SetState(tFilterState eFilterState) = 0;
86 
96  virtual tFilterState GetState() const = 0;
97 
98  };
99 
100 } //namespace streaming
101 
102 using ant::IFilter;
103 
104 
105 } //namespace ant
106 } //namespace adtf
The IDataBinding interfaces provides methods for retrive information of the Pins published.
The IFilter interfaces provides methods for controlling a filter.
Definition: filter_intf.h:33
virtual tFilterState GetState() const =0
Retrieves the state of the filter.
virtual tResult SetState(tFilterState eFilterState)=0
Sets the state of the filter.
tFilterState
specifies the several types of filter states
Definition: filter_intf.h:44
@ State_Shutdown
Filter is New / Shutdown.
@ State_Constructed
The Filter is fully created:
@ State_Ready
The Filter is ready for streaming:
@ State_Running
Filter is in streaming State, all pins are activated for streaming The filter is receiving Triggers.
@ State_Initialized
The Filter is fully initialized:
ADTF_IID(IFilter, "filter.ant.streaming.adtf.iid")
definiton of interface id
~IFilter()=default
not destructable
The IInterfaceBinding provides an interface to implement and access a common dynamic binding object r...
Interface for a NamedGraphObject which can be added to the FilterGraph.
The RuntimeBehaviour interface is to clearly define a filters running entry points (IRunner) and thei...
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.

Copyright © Audi Electronics Venture GmbH. All rights reserved. (Generated on Thu Jun 9 2022 by doxygen 1.9.1)