17 #ifndef IOX_POSH_POPO_EVENT_CALLBACK_HPP
18 #define IOX_POSH_POPO_EVENT_CALLBACK_HPP
20 #include "iceoryx_utils/cxx/attributes.hpp"
26 template <
typename OriginType,
typename ContextDataType>
35 using GenericCallbackPtr_t = void (*)();
36 using GenericCallbackRef_t = void (&)();
38 using TranslationCallbackRef_t = void (&)(
void*
const,
void*
const, GenericCallbackPtr_t
const);
39 using TranslationCallbackPtr_t = void (*)(
void*
const,
void*
const, GenericCallbackPtr_t
const);
41 template <
typename T,
typename ContextDataType>
44 static void call(
void*
const origin,
void*
const userType, GenericCallbackPtr_t underlyingCallback) noexcept;
50 static void call(
void*
const origin,
void*
const userType, GenericCallbackPtr_t underlyingCallback) noexcept;
56 template <
typename OriginType,
typename ContextDataType>
59 using Ref_t = void (&)(OriginType*
const, ContextDataType*
const);
60 using Ptr_t = void (*)(OriginType*
const, ContextDataType*
const);
62 Ptr_t m_callback =
nullptr;
63 ContextDataType* m_contextData =
nullptr;
67 template <
typename OriginType>
70 using Ref_t = void (&)(OriginType*
const);
71 using Ptr_t = void (*)(OriginType*
const);
73 Ptr_t m_callback =
nullptr;
80 template <
typename OriginType,
typename ContextDataType =
internal::NoType_t>
87 template <
typename OriginType,
typename ContextDataType>
89 createNotificationCallback(
void (&callback)(OriginType*
const, ContextDataType*
const), ContextDataType& userValue);
94 #include "iceoryx_posh/internal/popo/notification_callback.inl"
Definition: service_description.hpp:29
Definition: notification_callback.hpp:27
the struct describes a callback with a user defined type which can be attached to a WaitSet or a List...
Definition: notification_callback.hpp:58
Definition: notification_callback.hpp:32
Definition: notification_callback.hpp:43