77 const void* pvUserData,
78 size_t nUserDataSize);
82 const void* pvUserData,
83 size_t nUserDataSize);
93 template <
typename INTERFACE = ITriggerPipeSource>
122 LOG_DUMP(
"Runner connecting: %s -> %s", strFullName.GetPtr(), strFullNameTo.GetPtr());
153 template <
typename INTERFACE = ITriggerPipeItem>
182 tResult SetFullName(
const char* strName)
204 const void* pvUserData,
205 size_t nUserDataSize)
override
209 auto oResult =
m_pRunnable->
Run(tmTimeofActivation, ui32ActivationType, pvUserData, nUserDataSize);
210 if (
IS_FAILED(oResult) && m_pErrorHandler)
212 m_pErrorHandler->
Handle(oResult);
261 #define ADTF_FLASH_NAMED_GRAPH_OBJECT_METHOD_DECLARATIONS \
263 tResult GetName(base::ant::IString&& strName) const override;\
264 tResult SetName(const char* strName) override;\
265 tResult SetParent(const ucom::ant::IObject* oParentObject) override;\
266 tResult GetParent(const ucom::ant::IObject*& poParentObject) const override;
268 #define ADTF_FLASH_TRIGGER_PIPE_SOURCE_METHOD_DECLARATIONS \
270 tResult RegisterSubItem(const ucom::ant::iobject_ptr<streaming::ant::ITriggerPipeItem>& pSubRun,\
271 streaming::ant::ITriggerPipeSource::tPriority ui32Prio) override;\
272 tResult UnregisterSubItem(const ucom::ant::iobject_ptr<streaming::ant::ITriggerPipeItem>& pSubRun) override;\
273 tResult ChangePriority(const ucom::ant::iobject_ptr<streaming::ant::ITriggerPipeItem>& pSubRun,\
274 streaming::ant::ITriggerPipeSource::tPriority ui32Prio) override;\
275 tResult GetSubItems(ucom::ant::iobject_enum<const streaming::ant::ITriggerPipeItem>& lstSubItems) const override;
277 #define ADTF_FLASH_TRIGGER_PIPE_ITEM_METHOD_DECLARATIONS \
279 tResult Run(tTimeStamp tmTimeofActivation,\
280 base::ant::IRunnable::tActivationType ui32ActivationType,\
281 const void* pvUserData,\
282 size_t nUserDataSize) override;\
283 tResult Run(base::flash::tNanoSeconds tmTimeofActivation,\
284 base::ant::IRunnable::tActivationType ui32ActivationType,\
285 const void* pvUserData,\
286 size_t nUserDataSize) override;\
288 ADTF_FLASH_TRIGGER_PIPE_SOURCE_METHOD_DECLARATIONS \
289 ADTF_FLASH_NAMED_GRAPH_OBJECT_METHOD_DECLARATIONS
296 #define ADTF_QUIET_TRIGGER_PIPE_ITEM_METHOD_DECLARATIONS \
298 tResult RegisterTriggerParent(const streaming::ant::ITriggerPipeSource* pParent) override;\
299 tResult UnregisterTriggerParent(const streaming::ant::ITriggerPipeSource* pParent) override;\
300 tResult GetTriggerParents(const ucom::nitro::ifunction<tResult(const streaming::ant::ITriggerPipeSource*)>& fnCallback) const override;
304 using ant::trigger_pipe_source;
306 using ant::trigger_pipe_item;
#define LOG_DUMP(...)
Logs a dump message.
tInt64 tTimeStamp
type definition for a time value.
#define IS_FAILED(s)
Check if result is failed.
#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.
A common result class usable as return value throughout.
The Runnable interface defines common methods for a running component.
virtual tResult Run(tTimeStamp tmTimeofActivation, tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize)=0
The Run method to set the component in running state.
tActivationType
Enumeration of the possible activation types to set a component in running state.
virtual void Handle(tResult oError)=0
Call this to notify the error handling of an error that occured.
@ Stop
log error and stop the session.
Interface for a NamedGraphObject which can be added to the FilterGraph.
Interface that defines a TriggerPipeSource, which is able to send a Run (RUN::TIrgger) call to the re...
tPriority
Priority used for the order of ITriggerPipeItem::Run calls.
Default implementation for a ITriggerPipeSource.
cTriggerPipeSourceImpl(const cTriggerPipeSourceImpl &)=delete
deleted copy CTOR
cTriggerPipeSourceImpl & operator=(cTriggerPipeSourceImpl &&)=delete
deleted move operator
cTriggerPipeSourceImpl & operator=(const cTriggerPipeSourceImpl &)=delete
deleted copy operator
tResult GetSubItems(adtf::ucom::ant::iobject_enum< const ITriggerPipeItem > &lstSubItems) const
Retrieves a list of the registered Items.
tResult RegisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio)
Registers the pSubRun as SubItem of the source.
static adtf::base::IRunnable * m_pNothingToDoRunnable
internal runnable implementation to prevent nullpointer checks
A_UTILS_D(cTriggerPipeSourceImpl)
private dpointer
cTriggerPipeSourceImpl()
CTOR.
cTriggerPipeSourceImpl(cTriggerPipeSourceImpl &&)=delete
deleted move CTOR
tResult ChangePriority(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio)
Changes the priority of the pSubRun.
tResult RunSubs(tTimeStamp tmTimeofActivation, adtf::base::ant::IRunnable::tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize)
Then the Registered subitems will be called in order of ITriggerPipeItem::tPriority.
tResult UnregisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun)
Unregisters the pSubRun from the source.
virtual ~cTriggerPipeSourceImpl()=default
DTOR.
Default implementation class template for a ITriggerPipeItem.
trigger_pipe_source< INTERFACE > _base_type
used base type derived from
void SetRunnable(adtf::base::ant::IRunnable &oRunnable)
Sets the Runnable implementation to call if Run is called.
trigger_pipe_item(const char *strName, adtf::base::ant::IRunnable &oRunnable)
CTOR further initializer.
adtf::base::ant::IRunnable * m_pRunnable
Nothing to do runnable.
trigger_pipe_item(const char *strName)
CTOR with name.
tResult Run(tTimeStamp tmTimeofActivation, adtf::base::ant::IRunnable::tActivationType ui32ActivationType, const void *pvUserData, size_t nUserDataSize) override
This method will be called to activate the registered m_pRunnable by a given activation type.
trigger_pipe_item()=default
CTOR.
Default implementation class template for a ITriggerPipeSource.
tResult RegisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio) override
Registers the pSubRun as SubItem of the source.
trigger_pipe_source()=default
CTOR.
tResult GetSubItems(adtf::ucom::ant::iobject_enum< const ITriggerPipeItem > &lstSubItems) const override
Retrieves a list of the registered Items.
tResult UnregisterSubItem(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun) override
Unregisters the pSubRun from the source.
tResult ChangePriority(const adtf::ucom::ant::iobject_ptr< ITriggerPipeItem > &pSubRun, ITriggerPipeItem::tPriority ui32Prio) override
Changes the priority of the pSubRun.
virtual ~trigger_pipe_source()=default
DTOR.
Interface definition for a container of objects.
virtual T * Get() const =0
Get raw pointer to shared object.
Base object pointer to realize binary compatible reference counting in interface methods.
container type template for a set of object_ptr This template will provide a container for object_ptr...
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
Copyright © Audi Electronics Venture GmbH.
string_base< cStackString > cString
cString implementation for a stack string which works on stack if string is lower than A_UTILS_DEFAUL...
ucom::ant::object_ptr< IErrorHandling::IErrorHandler > create_error_handler(const char *strErrorSource, const char *strErrorCategory, IErrorHandling::tAction eDefaultAction)
Creates a new error handler.
tResult check_loop_call_in_trigger_pipe(const adtf::streaming::ant::ITriggerPipeSource &pItem)
Checks a loop call in Trigger Pipe can be created with pItem and all registered subitems.
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.
adtf_util::cString get_named_graph_object_full_name(const INamedGraphObject &oGraphObject)
Helper function to retrieve a full qualified unique name of an object registered in IFilterGraph.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.
A timestamp with nanosecond precision.
Copyright © Audi Electronics Venture GmbH.