ADTF  3.18.2
filtergraphport_intf.h
Go to the documentation of this file.
1 
7 #pragma once
8 #include "runner_intf.h"
12 #include "samplestream_intf.h"
13 #include "inpin_intf.h"
14 #include "outpin_intf.h"
15 
16 namespace adtf
17 {
18 namespace streaming
19 {
20 namespace ant
21 {
27  {
28  protected:
30  ~IFilterGraphPort() = default;
31 
32  public:
34  ADTF_IID(IFilterGraphPort, "filtergraphport.ant.streaming.adtf.iid");
35 
36  };
37 
44  public IRunner
45  {
46  protected:
49 
50  public:
52  ADTF_IID(IFilterGraphRunnerPort, "filtergraphrunnerport.ant.streaming.adtf.iid");
55 
56  public:
71  };
72 
78  {
79  protected:
81  ~IFilterGraphDataPort() = default;
82 
83  public:
85  ADTF_IID(IFilterGraphDataPort, "filtergraphdataport.ant.streaming.adtf.iid");
86  public:
92  virtual tResult InnerConnect(const ucom::ant::iobject_ptr<ISampleStream>& pSampleStream) = 0;
97  virtual tResult InnerDisconnect() = 0;
98  };
99 
106  public IInPin
107  {
108  protected:
111 
112  public:
114  ADTF_IID(IFilterGraphDataInPort, "filtergraphdatainport.ant.streaming.adtf.iid");
117  };
118 
125  public IOutPin
126  {
127  protected:
130 
131  public:
133  ADTF_IID(IFilterGraphDataOutPort, "filtergraphdataoutport.ant.streaming.adtf.iid");
136  };
137 
143  {
144  protected:
147 
148  public:
150  ADTF_IID(IFilterGraphInterfacePort, "filtergraphinterfaceport.ant.streaming.adtf.iid");
151  public:
156  virtual tResult InnerUnbind() = 0;
157  };
158 
165  public IBindingClient
166  {
167  protected:
170 
171  public:
173  ADTF_IID(IFilterGraphInterfaceClientPort, "filtergraphclientport.ant.streaming.adtf.iid");
176 
177  public:
183  virtual tResult InnerBind(const ucom::ant::iobject_ptr<IBindingClient>& pClientForward) = 0;
184  };
185 
192  public IBindingServer
193  {
194  protected:
197 
198  public:
200  ADTF_IID(IFilterGraphInterfaceServerPort, "filtergraphserverport.ant.streaming.adtf.iid");
203 
204  public:
210  virtual tResult InnerBind(const ucom::ant::iobject_ptr<IBindingProxy>& pForwardProxy) = 0;
211  };
212 
213 
214 } //namespace ant
215 
216 
219 
222 
229 
236 
237 } //namespace streaming
238 } // namespace adtf
This interface defines a dynamic binding object.
This interface defines a dynamic binding object.
Interface for a Filtergraph Data In Port that provides a IInPin as connectable item.
~IFilterGraphDataInPort()=default
not destructable
ADTF_IID(IFilterGraphDataInPort, "filtergraphdatainport.ant.streaming.adtf.iid")
Definition of interface id.
UCOM_RESOLVE(adtf::ucom::ant::IObject, IFilterGraphDataPort)
resolver for IObject
Interface for a Filtergraph Data Out Port that provides a IOutPin as connectable item.
~IFilterGraphDataOutPort()=default
not destructable
ADTF_IID(IFilterGraphDataOutPort, "filtergraphdataoutport.ant.streaming.adtf.iid")
Definition of interface id.
UCOM_RESOLVE(adtf::ucom::ant::IObject, IFilterGraphDataPort)
resolver for IObject
Common interface for a FilterGraph Port that allows to connect to a IFilterGraph with SampleStreams.
virtual tResult InnerDisconnect()=0
Inner Disconnect the ISampleStream if connected.
ADTF_IID(IFilterGraphDataPort, "filtergraphdataport.ant.streaming.adtf.iid")
Definition of interface id.
virtual tResult InnerConnect(const ucom::ant::iobject_ptr< ISampleStream > &pSampleStream)=0
Inner Connect the ISampleStream which will be provided for the outside.
~IFilterGraphDataPort()=default
not destructable
Interface for a Filtergraph Client Port that provides a IBindingClient as connectable item.
UCOM_RESOLVE(ucom::ant::IObject, IFilterGraphInterfacePort)
resolver for IObject
ADTF_IID(IFilterGraphInterfaceClientPort, "filtergraphclientport.ant.streaming.adtf.iid")
Definition of interface id.
virtual tResult InnerBind(const ucom::ant::iobject_ptr< IBindingClient > &pClientForward)=0
Inner bind the internal IBindingClient that will be provided for the outside.
~IFilterGraphInterfaceClientPort()=default
not destructable
Common interface for a FilterGraph Port that allows to connect to a IFilterGraph with BindingObjects.
~IFilterGraphInterfacePort()=default
not destructable
ADTF_IID(IFilterGraphInterfacePort, "filtergraphinterfaceport.ant.streaming.adtf.iid")
Definition of interface id.
virtual tResult InnerUnbind()=0
Inner unbind the IBindingClient or IBindingProxy.
Interface for a Filtergraph Server Port that provides a IBindingServer as connectable item.
UCOM_RESOLVE(ucom::ant::IObject, IFilterGraphInterfacePort)
resolver for IObject
ADTF_IID(IFilterGraphInterfaceServerPort, "filtergraphserverport.ant.streaming.adtf.iid")
Definition of interface id.
virtual tResult InnerBind(const ucom::ant::iobject_ptr< IBindingProxy > &pForwardProxy)=0
Inner bind the internal IBindingProxy that will be provided for the outside.
~IFilterGraphInterfaceServerPort()=default
not destructable
Common interface for a FilterGraph Port that allows to connect to a IFilterGraph.
ADTF_IID(IFilterGraphPort, "filtergraphport.ant.streaming.adtf.iid")
Definition of interface id.
~IFilterGraphPort()=default
not destructable
Interface for a Filtergraph Runner Port that provides a IRunner as connectable item.
UCOM_RESOLVE(ucom::ant::IObject, IFilterGraphPort)
Resolve IObject ucom_cast.
virtual tResult InnerRegisterSubItem(const ucom::ant::iobject_ptr< IRunner > &pRunner)=0
Registers the internal IRunner which is provided by the graphs IRuntimeBehaviour.
~IFilterGraphRunnerPort()=default
not destructable
ADTF_IID(IFilterGraphRunnerPort, "filtergraphrunnerport.ant.streaming.adtf.iid")
Definition of interface id.
virtual tResult InnerUnregisterSubItem(const ucom::ant::iobject_ptr< IRunner > &pRunner)=0
Registers the internal IRunner which is provided by the graphs IRuntimeBehaviour.
Type Interface for an InPin of the IDataBinding.
Definition: inpin_intf.h:20
Type Interface for an OutPin of the IDataBinding.
Definition: outpin_intf.h:20
The Interface defines a runnable item of the GraphObjects providing a IRuntimeBehaviour.
Definition: runner_intf.h:24
Base class for every interface type within the uCOM.
Definition: object_intf.h:31
Base object pointer to realize binary compatible reference counting in interface methods.
Copyright © Audi Electronics Venture GmbH.
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.
Copyright © Audi Electronics Venture GmbH.