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 |