17 class ITriggerPipeItem;
208 template <
typename ObjectType>
211 const auto pHierachy = adtf::ucom::ucom_cast<const quiet::ITriggerPipeHierachy*>(pChild);
214 THROW_ERROR_DESC(ERR_NO_INTERFACE,
"Object does not implement the trigger pipe hierachy interface.");
217 bool bHasParent =
false;
225 using ant::ITriggerPipeSource;
227 using ant::ITriggerPipeItem;
229 using ant::ITriggerPipe;
231 using quiet::ITriggerPipeHierachy;
233 using 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.
A common result class usable as return value throughout.
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.
function_wrapper< Signature > make_function(Callable &&fnCallback)
creates a ucom_function object for the given callable.
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