From cc53d54660f026f52cdf2d68d162875300735bf0 Mon Sep 17 00:00:00 2001 From: Mauro Date: Fri, 2 Oct 2020 16:34:32 +0100 Subject: [PATCH 1/5] Add RMW listener APIs add constness Use or discard previous events: Guard conditions Rename to set_events_executor_callback Add events support void return on set_events_executor_callback Revert "void return on set_events_executor_callback" Signed-off-by: Alberto Soragna --- rmw_implementation/src/functions.cpp | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index a7654b829..11f42b0f4 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -626,6 +626,36 @@ RMW_INTERFACE_FN( rcutils_allocator_t *, rmw_network_flow_endpoint_array_t *)) +RMW_INTERFACE_FN( + rmw_subscription_set_listener_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_subscription_t *, rmw_listener_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_service_set_listener_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_service_t *, rmw_listener_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_client_set_listener_callback, + rmw_ret_t, RMW_RET_ERROR, + 3, ARG_TYPES( + rmw_client_t *, rmw_listener_callback_t, const void *)) + +RMW_INTERFACE_FN( + rmw_guard_condition_set_listener_callback, + rmw_ret_t, RMW_RET_ERROR, + 4, ARG_TYPES( + rmw_guard_condition_t *, rmw_listener_callback_t, const void *, bool)) + +RMW_INTERFACE_FN( + rmw_event_set_listener_callback, + rmw_ret_t, RMW_RET_ERROR, + 4, ARG_TYPES( + rmw_event_t *, rmw_listener_callback_t, const void *, bool)) + #define GET_SYMBOL(x) symbol_ ## x = get_symbol(#x); void prefetch_symbols(void) @@ -706,6 +736,11 @@ void prefetch_symbols(void) GET_SYMBOL(rmw_qos_profile_check_compatible) GET_SYMBOL(rmw_publisher_get_network_flow_endpoints) GET_SYMBOL(rmw_subscription_get_network_flow_endpoints) + GET_SYMBOL(rmw_subscription_set_listener_callback) + GET_SYMBOL(rmw_service_set_listener_callback) + GET_SYMBOL(rmw_client_set_listener_callback) + GET_SYMBOL(rmw_guard_condition_set_listener_callback) + GET_SYMBOL(rmw_event_set_listener_callback) } void * symbol_rmw_init = nullptr; From ebfabc81a5c89cc4fe04d266dd3d45c82796b3f3 Mon Sep 17 00:00:00 2001 From: Mauro Passerino Date: Wed, 24 Mar 2021 16:54:07 -0300 Subject: [PATCH 2/5] Remove use_previous_event Signed-off-by: Mauro Passerino --- rmw_implementation/src/functions.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index 11f42b0f4..c5f032494 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -647,14 +647,14 @@ RMW_INTERFACE_FN( RMW_INTERFACE_FN( rmw_guard_condition_set_listener_callback, rmw_ret_t, RMW_RET_ERROR, - 4, ARG_TYPES( - rmw_guard_condition_t *, rmw_listener_callback_t, const void *, bool)) + 3, ARG_TYPES( + rmw_guard_condition_t *, rmw_listener_callback_t, const void *)) RMW_INTERFACE_FN( rmw_event_set_listener_callback, rmw_ret_t, RMW_RET_ERROR, - 4, ARG_TYPES( - rmw_event_t *, rmw_listener_callback_t, const void *, bool)) + 3, ARG_TYPES( + rmw_event_t *, rmw_listener_callback_t, const void *)) #define GET_SYMBOL(x) symbol_ ## x = get_symbol(#x); From 927298ba31833de89554e3d00edf9d749eca6c5d Mon Sep 17 00:00:00 2001 From: Mauro Passerino Date: Wed, 31 Mar 2021 17:54:39 -0300 Subject: [PATCH 3/5] Remove guard condition listener Signed-off-by: Mauro Passerino --- rmw_implementation/src/functions.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index c5f032494..1489d6adf 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -644,12 +644,6 @@ RMW_INTERFACE_FN( 3, ARG_TYPES( rmw_client_t *, rmw_listener_callback_t, const void *)) -RMW_INTERFACE_FN( - rmw_guard_condition_set_listener_callback, - rmw_ret_t, RMW_RET_ERROR, - 3, ARG_TYPES( - rmw_guard_condition_t *, rmw_listener_callback_t, const void *)) - RMW_INTERFACE_FN( rmw_event_set_listener_callback, rmw_ret_t, RMW_RET_ERROR, @@ -739,7 +733,6 @@ void prefetch_symbols(void) GET_SYMBOL(rmw_subscription_set_listener_callback) GET_SYMBOL(rmw_service_set_listener_callback) GET_SYMBOL(rmw_client_set_listener_callback) - GET_SYMBOL(rmw_guard_condition_set_listener_callback) GET_SYMBOL(rmw_event_set_listener_callback) } From e5b59cfb31bd12344289ad22a92a9401402c9856 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Thu, 1 Apr 2021 21:00:20 -0700 Subject: [PATCH 4/5] refactor to remove listener term Signed-off-by: William Woodall --- rmw_implementation/src/functions.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index 1489d6adf..2436eb6bf 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -627,28 +627,28 @@ RMW_INTERFACE_FN( rmw_network_flow_endpoint_array_t *)) RMW_INTERFACE_FN( - rmw_subscription_set_listener_callback, + rmw_subscription_set_on_new_message_callback, rmw_ret_t, RMW_RET_ERROR, 3, ARG_TYPES( - rmw_subscription_t *, rmw_listener_callback_t, const void *)) + rmw_subscription_t *, rmw_event_callback_t, const void *)) RMW_INTERFACE_FN( - rmw_service_set_listener_callback, + rmw_service_set_on_new_request_callback, rmw_ret_t, RMW_RET_ERROR, 3, ARG_TYPES( - rmw_service_t *, rmw_listener_callback_t, const void *)) + rmw_service_t *, rmw_event_callback_t, const void *)) RMW_INTERFACE_FN( - rmw_client_set_listener_callback, + rmw_client_set_on_new_response_callback, rmw_ret_t, RMW_RET_ERROR, 3, ARG_TYPES( - rmw_client_t *, rmw_listener_callback_t, const void *)) + rmw_client_t *, rmw_event_callback_t, const void *)) RMW_INTERFACE_FN( - rmw_event_set_listener_callback, + rmw_event_set_callback, rmw_ret_t, RMW_RET_ERROR, 3, ARG_TYPES( - rmw_event_t *, rmw_listener_callback_t, const void *)) + rmw_event_t *, rmw_event_callback_t, const void *)) #define GET_SYMBOL(x) symbol_ ## x = get_symbol(#x); @@ -730,10 +730,10 @@ void prefetch_symbols(void) GET_SYMBOL(rmw_qos_profile_check_compatible) GET_SYMBOL(rmw_publisher_get_network_flow_endpoints) GET_SYMBOL(rmw_subscription_get_network_flow_endpoints) - GET_SYMBOL(rmw_subscription_set_listener_callback) - GET_SYMBOL(rmw_service_set_listener_callback) - GET_SYMBOL(rmw_client_set_listener_callback) - GET_SYMBOL(rmw_event_set_listener_callback) + 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; From e40c7fca71aa599008ee950c593507fae61cf8cb Mon Sep 17 00:00:00 2001 From: Mauro Passerino Date: Mon, 20 Sep 2021 15:44:57 +0100 Subject: [PATCH 5/5] Add apis to retrieve service/client QoS Signed-off-by: Mauro Passerino --- rmw_implementation/src/functions.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rmw_implementation/src/functions.cpp b/rmw_implementation/src/functions.cpp index 2436eb6bf..382b6837e 100644 --- a/rmw_implementation/src/functions.cpp +++ b/rmw_implementation/src/functions.cpp @@ -437,6 +437,11 @@ RMW_INTERFACE_FN( rmw_ret_t, RMW_RET_ERROR, 4, ARG_TYPES(const rmw_client_t *, rmw_service_info_t *, void *, bool *)) +RMW_INTERFACE_FN( + rmw_client_get_actual_qos, + rmw_ret_t, RMW_RET_ERROR, + 2, ARG_TYPES(const rmw_client_t *, rmw_qos_profile_t *)) + RMW_INTERFACE_FN( rmw_create_service, rmw_service_t *, nullptr, @@ -459,6 +464,11 @@ RMW_INTERFACE_FN( rmw_ret_t, RMW_RET_ERROR, 3, ARG_TYPES(const rmw_service_t *, rmw_request_id_t *, void *)) +RMW_INTERFACE_FN( + rmw_service_get_actual_qos, + rmw_ret_t, RMW_RET_ERROR, + 2, ARG_TYPES(const rmw_service_t *, rmw_qos_profile_t *)) + RMW_INTERFACE_FN( rmw_take_event, rmw_ret_t, RMW_RET_ERROR, @@ -734,6 +744,8 @@ void prefetch_symbols(void) GET_SYMBOL(rmw_service_set_on_new_request_callback) GET_SYMBOL(rmw_client_set_on_new_response_callback) GET_SYMBOL(rmw_event_set_callback) + GET_SYMBOL(rmw_service_get_actual_qos); + GET_SYMBOL(rmw_client_get_actual_qos); } void * symbol_rmw_init = nullptr; @@ -830,6 +842,8 @@ unload_library() symbol_rmw_get_gid_for_publisher = nullptr; symbol_rmw_compare_gids_equal = nullptr; symbol_rmw_service_server_is_available = nullptr; + symbol_rmw_service_get_actual_qos = nullptr; + symbol_rmw_client_get_actual_qos = nullptr; symbol_rmw_set_log_severity = nullptr; symbol_rmw_get_publishers_info_by_topic = nullptr; symbol_rmw_get_subscriptions_info_by_topic = nullptr;