diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index 71d039ee5..c666a8103 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -698,6 +698,30 @@ RMW_INTERFACE_FN( rcutils_allocator_t *, rmw_network_flow_endpoint_array_t *)) +RMW_INTERFACE_FN( + rmw_subscription_set_on_new_message_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_subscription_t *, rmw_event_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_service_set_on_new_request_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_service_t *, rmw_event_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_client_set_on_new_response_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_client_t *, rmw_event_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_event_set_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_event_t *, rmw_event_callback_t, const void *)) + #define GET_SYMBOL(x) symbol_ ## x = get_symbol(#x); void prefetch_symbols(void) @@ -783,6 +807,10 @@ void prefetch_symbols(void) GET_SYMBOL(rmw_subscription_get_network_flow_endpoints) GET_SYMBOL(rmw_client_request_publisher_get_actual_qos); GET_SYMBOL(rmw_client_response_subscription_get_actual_qos); + GET_SYMBOL(rmw_subscription_set_on_new_message_callback) + GET_SYMBOL(rmw_service_set_on_new_request_callback) + GET_SYMBOL(rmw_client_set_on_new_response_callback) + GET_SYMBOL(rmw_event_set_callback) } void * symbol_rmw_init = nullptr; @@ -891,5 +919,9 @@ unload_library() symbol_rmw_publisher_get_network_flow_endpoints = nullptr; symbol_rmw_subscription_get_network_flow_endpoints = nullptr; symbol_rmw_init = nullptr; + symbol_rmw_subscription_set_on_new_message_callback = nullptr; + symbol_rmw_service_set_on_new_request_callback = nullptr; + symbol_rmw_client_set_on_new_response_callback = nullptr; + symbol_rmw_event_set_callback = nullptr; g_rmw_lib.reset(); }