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{
18
37class cSampleStreamingSource:
38 public ucom::catwo::object<streaming::ant::INamedGraphObject,
39 streaming::ant::IDataBinding,
40 streaming::ant::IInterfaceBinding,
41 streaming::ant::IRuntimeBehaviour,
42 streaming::ant::IDynamicDataBinding,
43 streaming::ant::IDynamicInterfaceBinding,
44 streaming::ant::IStreamingService,
45 streaming::ant::IStreamingSource,
46 streaming::ant::ISampleStreamingSource,
47 base::ant::IConfiguration>,
48 public cGraphObject,
50{
51 public:
52 // this needs to be here because unfortunately multiple base classes have this as well (altough it is not needed at all)
53 template <typename T>
54 using iobject_ptr = adtf::ucom::ant::iobject_ptr<T>;
55
56 cSampleStreamingSource();
57 ~cSampleStreamingSource() override;
58
69 tResult Init() override;
70
80
90
91 tResult SetName(const char* strName) override;
92 tResult GetName(base::ant::IString&& strName) const override;
93 tResult SetParent(const ucom::ant::IObject* poParentObject) override;
94 tResult GetParent(const ucom::ant::IObject*& poParentObject) const override;
95
96 tResult GetPins(ucom::ant::iobject_list<streaming::ant::IPin>& oPins) const override;
97 tResult FindPin(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pPin) const override;
98
99 tResult GetBindingObjects(ucom::ant::iobject_list<streaming::ant::IBindingObject>& lstBindingObject) override;
100 tResult GetBindingObjects(ucom::ant::iobject_list<const streaming::ant::IBindingObject>& lstBindingObject) const override;
101 tResult FindBindingObject(const char* strName,
102 ucom::ant::iobject_ptr<const ucom::ant::IObject>& pIBindingObject) const override;
103 tResult FindBindingObject(const char* strName,
104 ucom::ant::iobject_ptr<ucom::ant::IObject>& pIBindingObject) override;
105
106 tResult GetRunners(ucom::ant::iobject_list<streaming::ant::IRunner>& lstRunners) const override;
107 tResult FindRunner(const char* strName, ucom::ant::iobject_ptr<ucom::ant::IObject>& pRunner) const override;
108 tResult GetInnerPipes(ucom::ant::iobject_list<streaming::ant::ITriggerPipe>& lstInnerTriggerPipes) const override;
109
110 tResult RequestPin(const char* strName,
113 tResult RequestPin(const char* strName,
116
117 tResult RequestBindingObject(const char* strName,
120 tResult RequestBindingObject(const char* strName,
123
124 tResult SetState(tStreamingState eFilterState) override;
125 tStreamingState GetState() override;
126
127 tResult GetProperties(ucom::ant::iobject_ptr<const base::ant::IProperties>& pProperties) const override;
128 tResult GetProperties(ucom::ant::iobject_ptr<base::ant::IProperties>& pProperties) override;
129 tResult AttachConfiguration(const char* strName, base::ant::IConfiguration& oAttachedConfiguration) override;
130 tResult DetachConfiguration(const char* strName) override;
131
132 private:
133 class cImplementation;
134 std::unique_ptr<cImplementation> m_pImplementation;
135};
136
137}
138}
139
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
Definition configuration_intf.h:24
Definition string_intf.h:29
cGraphObject()
Default Constructor.
Definition streaming_source.h:31
Definition object_intf.h:33
Base object pointer to realize binary compatible reference counting in interface methods.
Definition object_ptr_intf.h:112
Definition object.h:397
Namespace for the ADTF Filter SDK.
Definition configurable_runner.h:18
iobject_enum< T > iobject_list
Definition object_list.h:387
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14