208template <
typename ObjectType>
214 THROW_ERROR_DESC(ERR_NO_INTERFACE,
"Object does not implement the trigger pipe hierachy interface.");
217 bool bHasParent =
false;
225using ant::ITriggerPipeSource;
227using ant::ITriggerPipeItem;
229using ant::ITriggerPipe;
231using quiet::ITriggerPipeHierachy;
233using riddler::has_trigger_parent;
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
#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.
The IString interface provides methods for getting and setting strings through abstract interfaces.
Interface a Trigger Pipe.
virtual tResult Open()=0
Opens and register every added pipe items.
virtual tResult GetFirstItem(adtf::ucom::ant::iobject_ptr< const ITriggerPipeSource > &pSubRu) const =0
Retrieves the first source item of the defined Trigger Pipe.
ADTF_IID(ITriggerPipe, "trigger_pipe.ant.streaming.adtf.iid")
Definiton of interface id.
~ITriggerPipe()=default
not destructable
virtual tResult Close()=0
Close and unregister every pipe item from its ITriggerPipeSource.
virtual tResult GetName(adtf::base::ant::IString &&strName) const =0
Gets the name of the Pipe.
Interface for objects which can participate a ITriggerPipe.
~ITriggerPipeItem()=default
not destructable
ADTF_IID(ITriggerPipeItem, "trigger_pipe_item.ant.streaming.adtf.iid")
Definition of interface ID.
Interface that defines a TriggerPipeSource, which is able to send a Run (RUN::TIrgger) call to the re...
virtual tResult ChangePriority(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, tPriority ui32Prio)=0
Changes the priority of the pSubRun.
virtual tResult RegisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, tPriority ui32Prio)=0
Registers the pSubRun as SubItem of the source.
virtual tResult GetSubItems(adtf::ucom::ant::iobject_enum< const ITriggerPipeItem > &lstSubItems) const =0
Retrieves a list of the registered Items.
virtual tResult UnregisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun)=0
Unregisters the pSubRun from the source.
~ITriggerPipeSource()=default
not destructable
ADTF_IID(ITriggerPipeSource, "trigger_pipe_source.ant.streaming.adtf.iid")
definiton of interface id
tPriority
Priority used for the order of ITriggerPipeItem::Run calls.
@ Highest
Highest Priority.
@ AboveNormal
Above Normal Priority.
@ BelowNormal
Below Normal Priority.
@ Invalid
Invalid Priority.
Interface for accessing the parent of a trigger pipe item.
virtual tResult GetTriggerParents(const ucom::nitro::ifunction< tResult(const ant::ITriggerPipeSource *)> &fnCallback) const =0
Retrieve all trigger pipe parents of this item.
virtual tResult UnregisterTriggerParent(const ant::ITriggerPipeSource *pParent)=0
Unregisters the given trigger pipe source that is no longer a parent of this item;.
virtual tResult RegisterTriggerParent(const ant::ITriggerPipeSource *pParent)=0
Registers the given trigger pipe source as a parent of this item;.
ADTF_IID(ITriggerPipeHierachy, "trigger_pipe_hierachy.quiet.streaming.adtf.iid")
Definition of interface ID.
~ITriggerPipeHierachy()=default
not destructable
Base class for every interface type within the uCOM.
Interface definition for a container of objects.
Base object pointer to realize binary compatible reference counting in interface methods.
Interface for functions that can be passed via IObject interfaces.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.0.
Namespace for all functionality of the ADTF Streaming SDK provided since v3.16.
Namespace for the ADTF Streaming SDK.
function_wrapper< Signature > make_function(Callable &&fnCallback)
creates a ucom_function object for the given callable.
InterfacePointerType ucom_cast(ObjectPointerType i_pObject)
Alias always bringing the latest version of ucom_cast() into scope.
Namespace for entire ADTF SDK.
bool has_trigger_parent(const ObjectType *pChild)
Checks whether the object has a parent trigger item or not.
#define THROW_ERROR_DESC(_code,...)
throws a tResult exception