diff --git a/rcl/include/rcl/node.h b/rcl/include/rcl/node.h index b9b864358..acc0488a9 100644 --- a/rcl/include/rcl/node.h +++ b/rcl/include/rcl/node.h @@ -549,6 +549,17 @@ RCL_PUBLIC rcl_ret_t rcl_get_disable_loaned_message(bool * disable_loaned_message); +/// Notify middleware to refresh available network interfaces. +/** + * \param[in] context Has to be valid. + * \return #RCL_RET_ERROR if the context is not valid, or + * \return #RCL_RET_OK. + */ +RCL_PUBLIC +RCL_WARN_UNUSED +rcl_ret_t +rcl_notify_participant_dynamic_network_interface(rcl_context_t * context); + #ifdef __cplusplus } #endif diff --git a/rcl/src/rcl/node.c b/rcl/src/rcl/node.c index 4afc40f53..cb90df757 100644 --- a/rcl/src/rcl/node.c +++ b/rcl/src/rcl/node.c @@ -536,6 +536,16 @@ rcl_get_disable_loaned_message(bool * disable_loaned_message) *disable_loaned_message = (strcmp(env_val, "1") == 0); return RCL_RET_OK; } + +rcl_ret_t +rcl_notify_participant_dynamic_network_interface(rcl_context_t * context) +{ + if(!rcl_context_is_valid(context)) + { + return RCL_RET_ERROR; + } + return rmw_notify_participant_dynamic_network_interface(&(context->impl->rmw_context)); +} #ifdef __cplusplus } #endif