diff --git a/rmw_connextdds/src/rmw_api_impl_ndds.cpp b/rmw_connextdds/src/rmw_api_impl_ndds.cpp index e44df000..13ddce63 100644 --- a/rmw_connextdds/src/rmw_api_impl_ndds.cpp +++ b/rmw_connextdds/src/rmw_api_impl_ndds.cpp @@ -138,6 +138,13 @@ rmw_event_set_callback( { return rmw_api_connextdds_event_set_callback(event, callback, user_data); } + +bool +rmw_event_type_is_supported(rmw_event_type_t rmw_event_type) +{ + return rmw_api_connextdds_event_type_is_supported(rmw_event_type); +} + /***************************************************************************** * Info API *****************************************************************************/ diff --git a/rmw_connextdds_common/include/rmw_connextdds/rmw_api_impl.hpp b/rmw_connextdds_common/include/rmw_connextdds/rmw_api_impl.hpp index 804b5653..fce5981c 100644 --- a/rmw_connextdds_common/include/rmw_connextdds/rmw_api_impl.hpp +++ b/rmw_connextdds_common/include/rmw_connextdds/rmw_api_impl.hpp @@ -96,6 +96,10 @@ rmw_api_connextdds_event_set_callback( const rmw_event_callback_t callback, const void * const user_data); +RMW_CONNEXTDDS_PUBLIC +bool +rmw_api_connextdds_event_type_is_supported(rmw_event_type_t rmw_event_type); + /***************************************************************************** * Info API *****************************************************************************/ diff --git a/rmw_connextdds_common/src/common/rmw_event.cpp b/rmw_connextdds_common/src/common/rmw_event.cpp index 23acf6ee..7a0cc981 100644 --- a/rmw_connextdds_common/src/common/rmw_event.cpp +++ b/rmw_connextdds_common/src/common/rmw_event.cpp @@ -19,15 +19,6 @@ /****************************************************************************** * Event functions ******************************************************************************/ - -static bool is_event_supported(const rmw_event_type_t event_type) -{ - bool invalid = false; - ros_event_to_dds(event_type, &invalid); - return !invalid; -} - - rmw_ret_t rmw_api_connextdds_publisher_event_init( rmw_event_t * rmw_event, @@ -42,7 +33,7 @@ rmw_api_connextdds_publisher_event_init( return RMW_RET_INVALID_ARGUMENT); RMW_CHECK_ARGUMENT_FOR_NULL(rmw_event, RMW_RET_INVALID_ARGUMENT); - if (!is_event_supported(event_type)) { + if (!rmw_api_connextdds_event_type_is_supported(event_type)) { RMW_CONNEXT_LOG_ERROR_SET("unsupported publisher event") return RMW_RET_UNSUPPORTED; } @@ -64,6 +55,15 @@ rmw_api_connextdds_publisher_event_init( } +bool +rmw_api_connextdds_event_type_is_supported(rmw_event_type_t rmw_event_type) +{ + bool invalid = false; + ros_event_to_dds(rmw_event_type, &invalid); + return !invalid; +} + + rmw_ret_t rmw_api_connextdds_subscription_event_init( rmw_event_t * rmw_event, @@ -78,7 +78,7 @@ rmw_api_connextdds_subscription_event_init( return RMW_RET_INVALID_ARGUMENT); RMW_CHECK_ARGUMENT_FOR_NULL(rmw_event, RMW_RET_INVALID_ARGUMENT); - if (!is_event_supported(event_type)) { + if (!rmw_api_connextdds_event_type_is_supported(event_type)) { RMW_CONNEXT_LOG_ERROR_SET("unsupported subscription event") return RMW_RET_UNSUPPORTED; } diff --git a/rmw_connextddsmicro/src/rmw_api_impl_rtime.cpp b/rmw_connextddsmicro/src/rmw_api_impl_rtime.cpp index 3aaf5e95..5197ef76 100644 --- a/rmw_connextddsmicro/src/rmw_api_impl_rtime.cpp +++ b/rmw_connextddsmicro/src/rmw_api_impl_rtime.cpp @@ -139,6 +139,12 @@ rmw_event_set_callback( return rmw_api_connextdds_event_set_callback(event, callback, user_data); } +bool +rmw_event_type_is_supported(rmw_event_type_t rmw_event_type) +{ + return rmw_api_connextdds_event_type_is_supported(rmw_event_type); +} + /***************************************************************************** * Info API *****************************************************************************/