18 #ifndef IOX_BINDING_C_WAIT_SET_H
19 #define IOX_BINDING_C_WAIT_SET_H
21 #include "iceoryx_binding_c/enums.h"
22 #include "iceoryx_binding_c/internal/c2cpp_binding.h"
23 #include "iceoryx_binding_c/notification_info.h"
24 #include "iceoryx_binding_c/subscriber.h"
25 #include "iceoryx_binding_c/types.h"
26 #include "iceoryx_binding_c/user_trigger.h"
40 void iox_ws_deinit(iox_ws_t
const self);
51 uint64_t iox_ws_timed_wait(iox_ws_t
const self,
52 struct timespec timeout,
53 iox_notification_info_t*
const notificationInfoArray,
54 const uint64_t notificationInfoArrayCapacity,
55 uint64_t* missedElements);
65 uint64_t iox_ws_wait(iox_ws_t
const self,
66 iox_notification_info_t*
const notificationInfoArray,
67 const uint64_t notificationInfoArrayCapacity,
68 uint64_t* missedElements);
71 uint64_t iox_ws_size(iox_ws_t
const self);
74 uint64_t iox_ws_capacity(iox_ws_t
const self);
80 void iox_ws_mark_for_destruction(iox_ws_t
const self);
90 ENUM iox_WaitSetResult iox_ws_attach_subscriber_state(iox_ws_t
const self,
92 const ENUM iox_SubscriberState subscriberState,
106 ENUM iox_WaitSetResult iox_ws_attach_subscriber_state_with_context_data(iox_ws_t
const self,
108 const ENUM iox_SubscriberState subscriberState,
111 void*
const contextData);
121 ENUM iox_WaitSetResult iox_ws_attach_subscriber_event(iox_ws_t
const self,
123 const ENUM iox_SubscriberEvent subscriberEvent,
124 const uint64_t eventId,
137 ENUM iox_WaitSetResult iox_ws_attach_subscriber_event_with_context_data(iox_ws_t
const self,
139 const ENUM iox_SubscriberEvent subscriberEvent,
140 const uint64_t eventId,
142 void*
const contextData);
151 ENUM iox_WaitSetResult iox_ws_attach_user_trigger_event(iox_ws_t
const self,
152 iox_user_trigger_t
const userTrigger,
153 const uint64_t eventId,
154 void (*callback)(iox_user_trigger_t));
165 ENUM iox_WaitSetResult iox_ws_attach_user_trigger_event_with_context_data(iox_ws_t
const self,
166 iox_user_trigger_t
const userTrigger,
167 const uint64_t eventId,
168 void (*callback)(iox_user_trigger_t,
void*),
169 void*
const contextData);
175 void iox_ws_detach_subscriber_event(iox_ws_t
const self,
177 const ENUM iox_SubscriberEvent subscriberEvent);
183 void iox_ws_detach_subscriber_state(iox_ws_t
const self,
185 const ENUM iox_SubscriberState subscriberState);
190 void iox_ws_detach_user_trigger_event(iox_ws_t
const self, iox_user_trigger_t
const userTrigger);
Definition: cpp2c_waitset.hpp:23
Definition: cpp2c_subscriber.hpp:28