17 #include "rclcpp/qos_event.hpp"
22 UnsupportedEventTypeException::UnsupportedEventTypeException(
24 const rcl_error_state_t * error_state,
25 const std::string & prefix)
26 : UnsupportedEventTypeException(exceptions::RCLErrorBase(ret, error_state), prefix)
29 UnsupportedEventTypeException::UnsupportedEventTypeException(
30 const exceptions::RCLErrorBase & base_exc,
31 const std::string & prefix)
32 : exceptions::RCLErrorBase(base_exc),
33 std::runtime_error(prefix + (prefix.empty() ?
"" :
": ") + base_exc.formatted_message)
36 QOSEventHandlerBase::~QOSEventHandlerBase()
38 if (on_new_event_callback_) {
39 clear_on_ready_callback();
43 RCUTILS_LOG_ERROR_NAMED(
45 "Error in destruction of rcl event handle: %s", rcl_get_error_string().str);
52 QOSEventHandlerBase::get_number_of_ready_events()
63 exceptions::throw_from_rcl_error(ret,
"Couldn't add event to wait set");
71 return wait_set->
events[wait_set_event_index_] == &event_handle_;
75 QOSEventHandlerBase::set_on_new_event_callback(
76 rcl_event_callback_t callback,
77 const void * user_data)
85 using rclcpp::exceptions::throw_from_rcl_error;
86 throw_from_rcl_error(ret,
"failed to set the on new message callback for QOS Event");
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_event_set_callback(const rcl_event_t *event, rcl_event_callback_t callback, const void *user_data)
Set the callback function for the event.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_event_fini(rcl_event_t *event)
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
Container for subscription's, guard condition's, etc to be waited on.
const rcl_event_t ** events
Storage for event pointers.
#define RCL_RET_OK
Success return code.
rmw_ret_t rcl_ret_t
The type that holds an rcl return code.
RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_wait_set_add_event(rcl_wait_set_t *wait_set, const rcl_event_t *event, size_t *index)
Store a pointer to the event in the next empty spot in the set.