35 ucom::ant::cClassInfo,
36 runtime_behaviour<interface_binding<data_binding<named_graph_object<IFilter>>>>>
132template <
typename DATABINDING_BEHAVIOUR_CLASS>
134 adtf_util::cStringList lstItems)
137 for (
const auto& itElem : lstItems)
140 if (
IS_FAILED(oComponent.FindPin(itElem, pCurrentItem)))
142 if (
IS_FAILED(oComponent.FindRunner(itElem, pCurrentItem)))
147 lstListOfItemsForPipe.PushObject(pCurrentItem);
152 return pInnerPipe->Open();
175template <
typename DATABINDING_BEHAVIOUR_CLASS>
177 const adtf_util::cString& strNameOfRunner,
178 const adtf_util::cString& strSource,
183 if (
IS_FAILED(oComponent.FindPin(strSource, pCurrentItem)))
185 if (
IS_FAILED(oComponent.FindRunner(strSource, pCurrentItem)))
190 lstListOfItemsForPipe.PushObject(pCurrentItem);
199 return pInnerPipe->Open();
211template<
typename INTERFACE>
213 const char* strServerName,
231template<
typename INTERFACE>
250 const char* strNameOfRunner,
253 return oFilter.RegisterRunner(strNameOfRunner, oRunnable);
264template <
typename DATABINDING_BEHAVIOUR_CLASS,
typename RUN_FUNC>
265tResult create_inner_pipe(DATABINDING_BEHAVIOUR_CLASS& oComponent,
266 const adtf_util::cString& strNameOfRunner,
267 const adtf_util::cString& strSource,
272 if (
IS_FAILED(oComponent.FindPin(strSource, pCurrentItem)))
274 if (
IS_FAILED(oComponent.FindRunner(strSource, pCurrentItem)))
279 lstListOfItemsForPipe.PushObject(pCurrentItem);
285 adtf::ucom::ant::object_ptr<ITriggerPipe> pInnerPipe;
288 return pInnerPipe->Open();
301template<
typename Interface,
typename InterfaceBinding>
303 const char* strServerName,
322template<
typename Interface,
typename InterfaceBinding>
335using ant::cFilterBase;
336using flash::create_inner_pipe;
#define IS_FAILED(s)
Check if result is failed.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#define RETURN_IF_FAILED(s)
Return if expression is failed, which requires the calling function's return type to be tResult.
#define RETURN_NOERROR
Return status ERR_NOERROR, which requires the calling function's return type to be tResult.
#define RETURN_ERROR(code)
Return specific error code, which requires the calling function's return type to be tResult.
The Runnable interface defines common methods for a running component.
Runnable helper implementaton template.
tFilterState
specifies the several types of filter states
Binding type generation template to initialize a BindingType with the information of the INTERFACE ty...
virtual tResult RegisterPin(const ucom::ant::iobject_ptr< IPin > &pIPin)
Registers a Pin in a pin list.
The cFilterBase class implements a basic filter that supports the IFilter interfaces.
cFilterBase()
Constructor.
ucom::object_ptr< services::ant::IReferenceClock > _clock
A reference to the clock service.
tResult Shutdown(tInitStage eStage) override
Implements the default cFilterLevelmachine state machine call.
cFilterLevelmachine::tInitStage tInitStage
private d-pointer
tResult SetState(IFilter::tFilterState eState) override
Sets the state of the filter.
virtual ~cFilterBase()
Destructor.
tResult Init(tInitStage eStage) override
Implements the default cFilterLevelmachine state machine call.
tResult Stop() override
Implements the default cFilterLevelmachine state machine calls.
tResult Start() override
Implements the default cFilterLevelmachine state machine calls.
tInitStage
The Filters InitStages will be used for the cFilterLevelmachine::Init and cFilterLevelmachine::Shutdo...
virtual tResult RegisterBindingObject(const ucom::ant::iobject_ptr< IBindingObject > &pBindingObject)
RegisterBindingObject will register the given pBindingObject within the internal registry.
virtual tResult RegisterRunner(const ucom::ant::iobject_ptr< IRunner > &pRunner)
Registers and publishes a IRunner object to the IRuntimeBehaviour.
virtual tResult RegisterInnerPipe(const ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe)
Registers and publishes an inner ITriggerPipe object to the IRuntimeBehaviour.
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...
#define A_UTILS_D(__pclassname_)
Helper macro for d-pattern definitions.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
tResult create_trigger_pipe(const char *strNameOfPipe, adtf::ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe, adtf::ucom::ant::object_list< ITriggerPipeItem > lstNextItems)
Creates a Trigger Pipe with given items in lstNextItems.
tResult create_server(cFilterBase &oFilter, const char *strServerName, const adtf::ucom::iobject_ptr< INTERFACE > &pServerInterface)
Creates a binding server object for the given INTERFACE type and register it on the cFilterBase insta...
tResult create_runner(cFilterBase &oFilter, const char *strNameOfRunner, adtf::base::ant::IRunnable &oRunnable)
Creates a runner on the given cFilterBase and connect it to the given Runnable You only need to imple...
tResult create_client(cFilterBase &oFilter, const char *strClientName)
Creates a binding client object for the given INTERFACE type and register it on the cFilterBase insta...
tResult create_inner_pipe(DATABINDING_BEHAVIOUR_CLASS &oComponent, adtf_util::cStringList lstItems)
Creates a Trigger Pipe and registers it at the given oFilter instance.
tResult create_client(InterfaceBinding &oInterfaceBinding, const char *strClientName)
Creates a binding client object for the given INTERFACE type and register it on the cFilterBase insta...
tResult create_server(InterfaceBinding &oInterfaceBinding, const char *strServerName, const adtf::ucom::iobject_ptr< Interface > &pServerInterface)
Creates a binding server object for the given INTERFACE type and register it on the cFilterBase insta...
Namespace for the ADTF Streaming SDK.
tResult create_trigger_pipe(const char *strNameOfPipe, adtf::ucom::ant::iobject_ptr< ITriggerPipe > &pTriggerPipe, adtf::ucom::ant::object_list< ITriggerPipeItem > lstNextItems)
Creates a Trigger Pipe with given items in lstNextItems.
object_enum< T, INTERFACE_TYPE, std::list > object_list
Implementation of an iobject_list<INTERFACE_TYPE> interface by using a std::list as container type.
Namespace for the ADTF uCOM3 SDK.
ant::iobject_ptr< T > iobject_ptr
Alias always bringing the latest version of ant::iobject_ptr into scope.
object_ptr< T > ucom_object_ptr_cast(object_ptr< T > oCasted)
Alias always bringing the latest version of ant::ucom_object_ptr_cast() into scope.
object_ptr< Implementation > make_object_ptr(Args &&... args)
Alias always bringing the latest version of ant::make_object_ptr() into scope.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.