Class CTrigger#

Inheritance Relationships#

Base Types#

Class Documentation#

class CTrigger : public sdv::IInterfaceAccess, public sdv::core::ITxTrigger, public sdv::IObjectDestroy#

Trigger object, managing the triggering.

Public Functions

CTrigger(CDispatchService &rDispatchSvc, uint32_t uiCycleTime, uint32_t uiDelayTime, uint32_t uiBehaviorFlags, sdv::core::ITxTriggerCallback *pCallback)#

Constructor.

Parameters:
  • rDispatchSvc[in] Reference to the dispatch service.

  • uiCycleTime[in] When set to any value other than 0, provides a cyclic trigger (ms). Could be 0 if cyclic triggering is not required.

  • uiDelayTime[in] When set to any value other than 0, ensures a minimum time between two triggers. Could be 0 if minimum time should not be enforced.

  • uiBehaviorFlags[in] Zero or more flags from sdv::core::ETxTriggerBehavior.

  • pCallback[in] Pointer to the callback interface.

bool IsValid() const#

Return whether the trigger object is valid.

Returns:

Returns the validity of the trigger.

virtual void DestroyObject() override#

Destroy the object. Overload of sdv::IObjectDestroy::DestroyObject.

virtual bool AddSignal(const sdv::u8string &ssSignalName) override#

Add a signal to the trigger object. The signal must be registered as TX signal before. Overload of sdv::core::ITxTrigger::AddSignal.

Parameters:

ssSignalName[in] Name of the signal.

Returns:

Returns whether adding the signal was successful.

virtual void RemoveSignal(const sdv::u8string &ssSignalName) override#

Remove a signal from the trigger object.Overload of sdv::core::ITxTrigger::RemoveSignal.

Parameters:

ssSignalName[in] Name of the signal.

void Execute(EExecutionFlag eExecFlag = EExecutionFlag::spontaneous)#

This function is triggered every ms.

Parameters:

eExecFlag[in] When set, the trigger was caused by the periodic timer.