|
iceoryx_posh 2.0.3
|
The Trigger class is usually managed by a factory class like a WaitSet and acquired by classes which would like to signal a notification. Multiple Trigger can share a common ConditionVariableData pointer so that multiple Trigger can signal a single instance. More...
#include <iceoryx_posh/popo/trigger.hpp>
Public Member Functions | |
| Trigger (const Trigger &)=delete | |
| Trigger & | operator= (const Trigger &)=delete |
| template<typename T , typename UserType > | |
| Trigger (StateBasedTrigger_t, T *const stateOrigin, const cxx::ConstMethodCallback< bool > &hasTriggeredCallback, const cxx::MethodCallback< void, uint64_t > &resetCallback, const uint64_t notificationId, const NotificationCallback< T, UserType > &callback, const uint64_t uniqueId, const uint64_t stateType, const uint64_t stateTypeHash) noexcept | |
| Creates a state based Trigger. More... | |
| template<typename T , typename UserType > | |
| Trigger (EventBasedTrigger_t, T *const notificationOrigin, const cxx::MethodCallback< void, uint64_t > &resetCallback, const uint64_t notificationId, const NotificationCallback< T, UserType > &callback, const uint64_t uniqueId, const uint64_t notificationType, const uint64_t notificationTypeHash) noexcept | |
| Creates an event based Trigger. More... | |
| Trigger (Trigger &&rhs) noexcept | |
| Trigger & | operator= (Trigger &&rhs) noexcept |
| ~Trigger () noexcept | |
| calls reset on destruction | |
| operator bool () const noexcept | |
| returns true if the Trigger is valid otherwise false A trigger is valid when: More... | |
| bool | isValid () const noexcept |
| returns true if the trigger is valid otherwise false | |
| bool | isStateConditionSatisfied () const noexcept |
| returns the result of the provided hasTriggeredCallback More... | |
| void | reset () noexcept |
| resets and invalidates the Trigger | |
| void | invalidate () noexcept |
| invalidates the Trigger without calling the reset callback | |
| uint64_t | getUniqueId () const noexcept |
| returns the internal unique id of the trigger | |
| bool | isLogicalEqualTo (const void *const notificationOrigin, const uint64_t originTriggerType, const uint64_t originTriggerTypeHash) const noexcept |
| returns true if the Triggers are logical equal otherwise false. Two Triggers are logical equal when More... | |
| template<typename T > | |
| void | updateOrigin (T &newOrigin) noexcept |
| sets a new origin of the trigger More... | |
| const NotificationInfo & | getNotificationInfo () const noexcept |
| returns the NotificationInfo | |
| TriggerType | getTriggerType () const noexcept |
| returns the type of trigger | |
Static Public Attributes | |
| static constexpr uint64_t | INVALID_TRIGGER_ID = std::numeric_limits<uint64_t>::max() |
The Trigger class is usually managed by a factory class like a WaitSet and acquired by classes which would like to signal a notification. Multiple Trigger can share a common ConditionVariableData pointer so that multiple Trigger can signal a single instance.
|
noexcept |
Creates a state based Trigger.
| [in] | StateBasedTrigger_t | signals that we are creating a state based trigger |
| [in] | stateOrigin | pointer to the class where the signal originates from, if it's set to nullptr the Trigger is in a defined but invalid state |
| [in] | hasTriggeredCallback | callback to a method which informs the trigger if it was triggered or not. If an empty callback is set the trigger is in a defined but invalid state. |
| [in] | resetCallback | callback which is called when the trigger goes out of scope. |
| [in] | notificationId | id of the corresponding event/state |
| [in] | callback | function pointer of type void(*)(T * const) to a callback which can be called by the trigger. |
| [in] | uniqueId | a context wide unique id to identify the trigger |
| [in] | stateType | the uint64_t value of the state origins state enum |
| [in] | stateTypeHash | the uint64_t type hash of the state enum |
|
noexcept |
Creates an event based Trigger.
| [in] | EventBasedTrigger_t | signals that we are creating an event based trigger |
| [in] | notificationOrigin | pointer to the class where the signal originates from, if it's set to nullptr the Trigger is in a defined but invalid state |
| [in] | resetCallback | callback which is called when the trigger goes out of scope. |
| [in] | notificationId | id of the corresponding event |
| [in] | callback | function pointer of type void(*)(T * const) to a callback which can be called by the trigger. |
| [in] | uniqueId | a context wide unique id to identify the trigger |
| [in] | notificationType | the uint64_t value of the events origins event enum |
| [in] | notificationTypeHash | the uint64_t type hash of the event enum |
|
noexcept |
returns true if the Triggers are logical equal otherwise false. Two Triggers are logical equal when
|
noexcept |
returns the result of the provided hasTriggeredCallback
|
explicitnoexcept |
returns true if the Trigger is valid otherwise false A trigger is valid when:
|
noexcept |
sets a new origin of the trigger
| [in] | newOrigin | reference to the new origin |