ADTF
Loading...
Searching...
No Matches
pin.h
Go to the documentation of this file.
1
7#pragma once
8
10#include "triggerpipe.h"
11#include "pin_intf.h"
12#include "inpin_intf.h"
13#include "outpin_intf.h"
14
17
18#include <memory>
19
20namespace adtf
21{
22namespace streaming
23{
24namespace ant
25{
26
32class cInPin : public trigger_pipe_item<INamedGraphObject, IPin, IInPin>
33{
35 A_UTILS_D(cInPin)
36
37public:
42 cInPin(const char* strName);
44 virtual ~cInPin();
45
46public: // implements IPin
47 tResult GetType(ucom::ant::iobject_ptr<const IStreamType>& pStreamType) const override;
48
49 bool IsConnected() const override;
50 tResult SetActive() override;
51 tResult SetInactive() override;
52
53 tResult Disconnect() override;
54 tResult GetSampleStream(ucom::ant::iobject_ptr<ISampleStream>& pSampleStream) const override;
55
56public: // implements IInPin
57 tResult Connect(const ucom::ant::iobject_ptr<ISampleStream>& pSampleStream) override;
58
59public:
71
85};
86
92class cOutPin : public trigger_pipe_item<INamedGraphObject, IPin, IOutPin>
93{
95 A_UTILS_D(cOutPin)
96
97public:
102 cOutPin(const char* strName);
104 virtual ~cOutPin();
105
106public: // implements IPin
107 tResult GetType(ucom::ant::iobject_ptr<const IStreamType>& pStreamType) const override;
108
109 bool IsConnected() const override;
110 tResult SetActive() override;
111 tResult SetInactive() override;
112
113 tResult Disconnect();
114 tResult GetSampleStream(ucom::ant::iobject_ptr<ISampleStream>& pSampleStream) const override;
115
116public: // implements IOutPin
117 tResult Connect(const ucom::ant::iobject_ptr<ISampleStream>& pSampleStream) override;
118
119public:
144};
145
151class cConfigurableInPin : public ucom::catwo::object<cInPin, adtf::base::configuration<>>
152{
153public:
158 cConfigurableInPin(const char* strName);
159};
160
166class cConfigurableOutPin : public ucom::catwo::object<cOutPin, adtf::base::configuration<>>
167{
168public:
173 cConfigurableOutPin(const char* strName);
174};
175
176} // namespace ant
177
178namespace flash
179{
180
181class cInPin :
182 public trigger_pipe_item<ant::INamedGraphObject, ant::IPin, flash::IStreamerPin, ant::IInPin>
183{
184public:
185 cInPin();
186 cInPin(const char* strName);
187 ~cInPin();
188
189public:
190 tResult GetType(ucom::ant::iobject_ptr<const ant::IStreamType>& pStreamType) const override;
191 bool IsConnected() const override;
192 tResult SetActive() override;
193 tResult SetInactive() override;
194 tResult Connect(const ucom::ant::iobject_ptr<ant::ISampleStream>& pSampleStream) override;
195 tResult Disconnect() override;
196 tResult GetSampleStream(ucom::ant::iobject_ptr<ant::ISampleStream>& pSampleStream) const override;
197
198 tResult RegisterStreamer(flash::ISampleStreamer& oStreamer) override;
199 tResult UnregisterStreamer(flash::ISampleStreamer& oStreamer) override;
200
201protected:
202 class cImplementation;
203 std::unique_ptr<cImplementation> m_pImplementation;
204};
205
206class cOutPin :
207 public trigger_pipe_item<ant::INamedGraphObject, ant::IPin, flash::IStreamerPin, ant::IOutPin>
208{
209public:
210 cOutPin();
211 cOutPin(const char* strName);
212 ~cOutPin();
213
214public:
215 tResult GetType(ucom::ant::iobject_ptr<const ant::IStreamType>& pStreamType) const override;
216 bool IsConnected() const override;
217 tResult SetActive() override;
218 tResult SetInactive() override;
219 tResult Connect(const ucom::ant::iobject_ptr<ant::ISampleStream>& pSampleStream) override;
220 tResult Disconnect() override;
221 tResult GetSampleStream(ucom::ant::iobject_ptr<ant::ISampleStream>& pSampleStream) const override;
222
223 tResult RegisterStreamer(flash::ISampleStreamer& oStreamer) override;
224 tResult UnregisterStreamer(flash::ISampleStreamer& oStreamer) override;
225
226protected:
227 class cImplementation;
228 std::unique_ptr<cImplementation> m_pImplementation;
229};
230
231class cConfigurableInPin : public ucom::catwo::object<cInPin, adtf::base::configuration<>>
232{
233public:
234 cConfigurableInPin();
235 cConfigurableInPin(const char* strName);
236};
237
238class cConfigurableOutPin : public ucom::catwo::object<cOutPin, adtf::base::configuration<>>
239{
240public:
241 cConfigurableOutPin();
242 cConfigurableOutPin(const char* strName);
243};
244
245} // namespace flash
246
247namespace quiet
248{
249
250using flash::cInPin;
251using flash::cOutPin;
252using flash::cConfigurableInPin;
253using flash::cConfigurableOutPin;
254
255} // namespace quiet
256
257using quiet::cInPin;
258using quiet::cOutPin;
259using quiet::cConfigurableInPin;
260using quiet::cConfigurableOutPin;
261
262} // namespace streaming
263} // namespace adtf
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
Definition samplestreamer_intf.h:55
Local Sample Streamer Interface. This interface is only used to create a cInPin and cOutPin in a gene...
Definition samplestreamer_intf.h:29
Definition samplestreamer_intf.h:76
tResult RegisterStreamer(ISampleReader &pStreamReader)
cInPin()
private dPointer
tResult UnregisterStreamer(ISampleStreamer &pStreamReader)
cInPin(const char *strName)
tResult RegisterStreamer(ISampleWriter &pStreamWriter)
cOutPin(const char *strName)
tResult UnregisterStreamer(ISampleStreamer &pStreamWriter)
Definition samplestreamer_intf.h:130
Base object pointer to realize binary compatible reference counting in interface methods.
Definition object_ptr_intf.h:112
Definition object.h:397
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
Definition bindingproxyoutport.h:16
Namespace for all functionality of the ADTF Streaming SDK provided since v3.5.
Definition filterbase.h:255
Namespace for the ADTF Streaming SDK.
Definition bindingproxyinport.h:14
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14