diff --git a/rmw_cyclonedds_cpp/src/rmw_node.cpp b/rmw_cyclonedds_cpp/src/rmw_node.cpp index f24ff18..07e08df 100644 --- a/rmw_cyclonedds_cpp/src/rmw_node.cpp +++ b/rmw_cyclonedds_cpp/src/rmw_node.cpp @@ -802,6 +802,19 @@ extern "C" rmw_ret_t rmw_publish_serialized_message( return ok ? RMW_RET_OK : RMW_RET_ERROR; } +extern "C" rmw_ret_t rmw_publish_loaned_message( + const rmw_publisher_t * publisher, + void * ros_message, + rmw_publisher_allocation_t * allocation) +{ + (void) publisher; + (void) ros_message; + (void) allocation; + + RMW_SET_ERROR_MSG("rmw_publish_loaned_message not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + static const rosidl_message_type_support_t * get_typesupport( const rosidl_message_type_support_t * type_supports) { @@ -1199,6 +1212,31 @@ rmw_ret_t rmw_publisher_get_actual_qos(const rmw_publisher_t * publisher, rmw_qo } } +extern "C" rmw_ret_t rmw_borrow_loaned_message( + const rmw_publisher_t * publisher, + const rosidl_message_type_support_t * type_support, + void ** ros_message) +{ + (void) publisher; + (void) type_support; + (void) ros_message; + + RMW_SET_ERROR_MSG("rmw_borrow_loaned_message not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + +extern "C" rmw_ret_t rmw_return_loaned_message_from_publisher( + const rmw_publisher_t * publisher, + void * loaned_message) +{ + (void) publisher; + (void) loaned_message; + + RMW_SET_ERROR_MSG( + "rmw_return_loaned_message_from_publisher not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + extern "C" rmw_ret_t rmw_destroy_publisher(rmw_node_t * node, rmw_publisher_t * publisher) { RET_WRONG_IMPLID(node); @@ -1511,6 +1549,50 @@ extern "C" rmw_ret_t rmw_take_serialized_message_with_info( return rmw_take_ser_int(subscription, serialized_message, taken, message_info); } +extern "C" rmw_ret_t rmw_take_loaned_message( + const rmw_subscription_t * subscription, + void ** loaned_message, + bool * taken, + rmw_subscription_allocation_t * allocation) +{ + (void) subscription; + (void) loaned_message; + (void) taken; + (void) allocation; + + RMW_SET_ERROR_MSG("rmw_take_loaned_message not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + +extern "C" rmw_ret_t rmw_take_loaned_message_with_info( + const rmw_subscription_t * subscription, + void ** loaned_message, + bool * taken, + rmw_message_info_t * message_info, + rmw_subscription_allocation_t * allocation) +{ + (void) subscription; + (void) loaned_message; + (void) taken; + (void) message_info; + (void) allocation; + + RMW_SET_ERROR_MSG("rmw_take_loaned_message_with_info not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + +extern "C" rmw_ret_t rmw_return_loaned_message_from_subscription( + const rmw_subscription_t * subscription, + void * loaned_message) +{ + (void) subscription; + (void) loaned_message; + + RMW_SET_ERROR_MSG( + "rmw_release_loaned_message_from_subscription not implemented for rmw_cyclonedds_cpp"); + return RMW_RET_UNSUPPORTED; +} + extern "C" rmw_ret_t rmw_take_event( const rmw_event_t * event_handle, void * event_info, bool * taken)