ADTF
Loading...
Searching...
No Matches
sample_streaming_source.h
Go to the documentation of this file.
1
7#pragma once
10#include "graph_object.h"
11
12#include <memory>
13
14namespace adtf
15{
16namespace filter
17{
18namespace flash
19{
20
39class cSampleStreamingSource:
40 public ucom::catwo::object<streaming::ant::INamedGraphObject,
41 streaming::ant::IDataBinding,
42 streaming::ant::IInterfaceBinding,
43 streaming::ant::IRuntimeBehaviour,
44 streaming::ant::IDynamicDataBinding,
45 streaming::ant::IDynamicInterfaceBinding,
46 streaming::ant::IStreamingService,
47 streaming::ant::IStreamingSource,
48 streaming::ant::ISampleStreamingSource,
49 base::ant::IConfiguration>,
50 public cGraphObject,
52{
53 public:
54 // this needs to be here because unfortunately multiple base classes have this as well (altough it is not needed at all)
55 template <typename T>
56 using iobject_ptr = adtf::ucom::ant::iobject_ptr<T>;
57
58 cSampleStreamingSource();
59 ~cSampleStreamingSource() override;
60
71 tResult Init() override;
72
82
92
93 tResult SetName(const char* strName) override;
94 tResult GetName(base::ant::IString&& strName) const override;
95 tResult SetParent(const ucom::ant::IObject* poParentObject) override;
96 tResult GetParent(const ucom::ant::IObject*& poParentObject) const override;
97
98 tResult GetPins(ucom::ant::iobject_list<streaming::ant::IPin>& oPins) const override;
99 tResult FindPin(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pPin) const override;
100
101 tResult GetBindingObjects(ucom::ant::iobject_list<streaming::ant::IBindingObject>& lstBindingObject) override;
102 tResult GetBindingObjects(ucom::ant::iobject_list<const streaming::ant::IBindingObject>& lstBindingObject) const override;
103 tResult FindBindingObject(const char* strName,
104 ucom::ant::iobject_ptr<const ucom::ant::IObject>& pIBindingObject) const override;
105 tResult FindBindingObject(const char* strName,
106 ucom::ant::iobject_ptr<ucom::ant::IObject>& pIBindingObject) override;
107
108 tResult GetRunners(ucom::ant::iobject_list<streaming::ant::IRunner>& lstRunners) const override;
109 tResult FindRunner(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pRunner) const override;
110 tResult GetInnerPipes(ucom::ant::iobject_list<streaming::ant::ITriggerPipe>& lstInnerTriggerPipes) const override;
111
112 tResult RequestPin(const char* strName,
115 tResult RequestPin(const char* strName,
118
119 tResult RequestBindingObject(const char* strName,
122 tResult RequestBindingObject(const char* strName,
125
126 tResult SetState(tStreamingState eFilterState) override;
127 tStreamingState GetState() override;
128
129 tResult GetProperties(ucom::ant::iobject_ptr<const base::ant::IProperties>& pProperties) const override;
130 tResult GetProperties(ucom::ant::iobject_ptr<base::ant::IProperties>& pProperties) override;
131 tResult AttachConfiguration(const char* strName, base::ant::IConfiguration& oAttachedConfiguration) override;
132 tResult DetachConfiguration(const char* strName) override;
133
134 private:
135 class cImplementation;
136 std::unique_ptr<cImplementation> m_pImplementation;
137};
138
139}
140
141namespace hollow
142{
143
145class cSampleStreamingSource:
146 public ucom::catwo::object<streaming::ant::INamedGraphObject,
147 streaming::ant::IDataBinding,
148 streaming::ant::IInterfaceBinding,
149 streaming::ant::IRuntimeBehaviour,
150 streaming::ant::IDynamicDataBinding,
151 streaming::ant::IDynamicInterfaceBinding,
152 streaming::ant::IStreamingService,
153 streaming::ant::IStreamingSource,
154 streaming::ant::ISampleStreamingSource,
155 base::ant::IConfiguration>,
156 public cGraphObject,
158{
159 public:
160 // this needs to be here because unfortunately multiple base classes have this as well (altough it is not needed at all)
161 template <typename T>
162 using iobject_ptr = adtf::ucom::ant::iobject_ptr<T>;
163
164 cSampleStreamingSource();
165 ~cSampleStreamingSource() override;
166
168 tResult Init() override;
169
172
175
176 tResult SetName(const char* strName) override;
177 tResult GetName(base::ant::IString&& strName) const override;
178 tResult SetParent(const ucom::ant::IObject* poParentObject) override;
179 tResult GetParent(const ucom::ant::IObject*& poParentObject) const override;
180
181 tResult GetPins(ucom::ant::iobject_list<streaming::ant::IPin>& oPins) const override;
182 tResult FindPin(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pPin) const override;
183
184 tResult GetBindingObjects(ucom::ant::iobject_list<streaming::ant::IBindingObject>& lstBindingObject) override;
185 tResult GetBindingObjects(ucom::ant::iobject_list<const streaming::ant::IBindingObject>& lstBindingObject) const override;
186 tResult FindBindingObject(const char* strName,
187 ucom::ant::iobject_ptr<const ucom::ant::IObject>& pIBindingObject) const override;
188 tResult FindBindingObject(const char* strName,
189 ucom::ant::iobject_ptr<ucom::ant::IObject>& pIBindingObject) override;
190
191 tResult GetRunners(ucom::ant::iobject_list<streaming::ant::IRunner>& lstRunners) const override;
192 tResult FindRunner(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pRunner) const override;
193 tResult GetInnerPipes(ucom::ant::iobject_list<streaming::ant::ITriggerPipe>& lstInnerTriggerPipes) const override;
194
195 tResult RequestPin(const char* strName,
198 tResult RequestPin(const char* strName,
201
202 tResult RequestBindingObject(const char* strName,
205 tResult RequestBindingObject(const char* strName,
208
209 tResult SetState(tStreamingState eFilterState) override;
210 tStreamingState GetState() override;
211
212 tResult GetProperties(ucom::ant::iobject_ptr<const base::ant::IProperties>& pProperties) const override;
213 tResult GetProperties(ucom::ant::iobject_ptr<base::ant::IProperties>& pProperties) override;
214 tResult AttachConfiguration(const char* strName, base::ant::IConfiguration& oAttachedConfiguration) override;
215 tResult DetachConfiguration(const char* strName) override;
216
217 private:
218 class cImplementation;
219 std::unique_ptr<cImplementation> m_pImplementation;
220};
221
222}
223
225
226}
227}
228
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
ucom Interface to a objects configuration.
The IString interface provides methods for getting and setting strings through abstract interfaces.
Definition string_intf.h:28
cGraphObject()
Default Constructor.
tResult StopStreaming() override
Stop your threads and timers in this method.
tResult StartStreaming() override
Start your threads and timers in this method.
tResult Init() override
Initializes the source.
Base class for ADTF sample streaming sources.
tResult StopStreaming() override
Stop your threads and timers in this method.
tResult StartStreaming() override
Start your threads and timers in this method.
tResult Init() override
Initializes the source.
The Streaming Service Level Machine implementation.
Base class for every interface type within the uCOM.
Definition object_intf.h:33
Base object pointer to realize binary compatible reference counting in interface methods.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Definition object.h:397
Copyright © Audi Electronics Venture GmbH.
Namespace for all functionality of the ADTF Filter SDK provided since v3.5.
Namespace for all functionality of the ADTF Filter SDK provided since v3.7.
Namespace for the ADTF Filter SDK.
iobject_enum< T > iobject_list
alias type for iobject_enum.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.