18 #include "rcl/error_handling.h"
21 #include "rclcpp/event_handler.hpp"
22 #include "rclcpp/exceptions/exceptions.hpp"
27 UnsupportedEventTypeException::UnsupportedEventTypeException(
29 const rcl_error_state_t * error_state,
30 const std::string & prefix)
31 : UnsupportedEventTypeException(exceptions::RCLErrorBase(ret, error_state), prefix)
34 UnsupportedEventTypeException::UnsupportedEventTypeException(
35 const exceptions::RCLErrorBase & base_exc,
36 const std::string & prefix)
37 : exceptions::RCLErrorBase(base_exc),
38 std::runtime_error(prefix + (prefix.empty() ?
"" :
": ") + base_exc.formatted_message)
41 EventHandlerBase::~EventHandlerBase()
44 RCUTILS_LOG_ERROR_NAMED(
46 "Error in destruction of rcl event handle: %s", rcl_get_error_string().str);
53 EventHandlerBase::get_number_of_ready_events()
64 exceptions::throw_from_rcl_error(ret,
"Couldn't add event to wait set");
72 return wait_set.
events[wait_set_event_index_] == &event_handle_;
76 EventHandlerBase::set_on_new_event_callback(
77 rcl_event_callback_t callback,
78 const void * user_data)
86 using rclcpp::exceptions::throw_from_rcl_error;
87 throw_from_rcl_error(ret,
"failed to set the on new message callback for 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.