From ce146cfdbab2f512775d5dd585fe05b989069279 Mon Sep 17 00:00:00 2001 From: William Woodall Date: Mon, 27 Feb 2017 18:48:01 -0800 Subject: [PATCH] add a publish method with the const MessageT * signature (#307) --- rclcpp/include/rclcpp/publisher.hpp | 9 +++++++++ .../include/rclcpp_lifecycle/lifecycle_publisher.hpp | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/rclcpp/include/rclcpp/publisher.hpp b/rclcpp/include/rclcpp/publisher.hpp index 316b7ab..62d76bf 100644 --- a/rclcpp/include/rclcpp/publisher.hpp +++ b/rclcpp/include/rclcpp/publisher.hpp @@ -261,6 +261,15 @@ public: return this->publish(unique_msg); } + virtual void + publish(const MessageT * msg) + { + if (!msg) { + throw std::runtime_error("msg argument is nullptr"); + } + return this->publish(*msg); + } + std::shared_ptr get_allocator() const { return message_allocator_; diff --git a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_publisher.hpp b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_publisher.hpp index c01ad98..61d0c6b 100644 --- a/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_publisher.hpp +++ b/rclcpp_lifecycle/include/rclcpp_lifecycle/lifecycle_publisher.hpp @@ -125,6 +125,15 @@ public: rclcpp::publisher::Publisher::publish(msg); } + virtual void + publish(const MessageT * msg) + { + if (!msg) { + throw std::runtime_error("msg argument is nullptr"); + } + this->publish(*msg); + } + /// LifecyclePublisher pulish function /** * The publish function checks whether the communication