From 3c8098b3efadc63668502afa568f1209885fc9bb Mon Sep 17 00:00:00 2001 From: Abrar Rahman Protyasha Date: Wed, 9 Feb 2022 10:56:02 -0500 Subject: [PATCH] Use `const&` signature for read-only sub callbacks The constant reference message signatures should be preferred over the shared pointer to constant message signatures for read-only subscriber callbacks, as discussed in https://github.com/ros2/rclcpp/pull/1598. As such, it makes sense to migrate to said signatures in the examples. Signed-off-by: Abrar Rahman Protyasha --- rclcpp/topics/minimal_subscriber/member_function.cpp | 4 ++-- .../member_function_with_topic_statistics.cpp | 6 +++--- ...member_function_with_unique_network_flow_endpoints.cpp | 8 ++++---- rclcpp/topics/minimal_subscriber/not_composable.cpp | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/rclcpp/topics/minimal_subscriber/member_function.cpp b/rclcpp/topics/minimal_subscriber/member_function.cpp index 793c3b32..40f27f7d 100644 --- a/rclcpp/topics/minimal_subscriber/member_function.cpp +++ b/rclcpp/topics/minimal_subscriber/member_function.cpp @@ -31,9 +31,9 @@ class MinimalSubscriber : public rclcpp::Node } private: - void topic_callback(const std_msgs::msg::String::ConstSharedPtr msg) const + void topic_callback(const std_msgs::msg::String & msg) const { - RCLCPP_INFO(this->get_logger(), "I heard: '%s'", msg->data.c_str()); + RCLCPP_INFO(this->get_logger(), "I heard: '%s'", msg.data.c_str()); } rclcpp::Subscription::SharedPtr subscription_; }; diff --git a/rclcpp/topics/minimal_subscriber/member_function_with_topic_statistics.cpp b/rclcpp/topics/minimal_subscriber/member_function_with_topic_statistics.cpp index 4b678626..c7523ba1 100644 --- a/rclcpp/topics/minimal_subscriber/member_function_with_topic_statistics.cpp +++ b/rclcpp/topics/minimal_subscriber/member_function_with_topic_statistics.cpp @@ -36,7 +36,7 @@ class MinimalSubscriberWithTopicStatistics : public rclcpp::Node // configure the topic name (default '/statistics') // options.topic_stats_options.publish_topic = "/topic_statistics" - auto callback = [this](std_msgs::msg::String::ConstSharedPtr msg) { + auto callback = [this](const std_msgs::msg::String & msg) { this->topic_callback(msg); }; @@ -45,9 +45,9 @@ class MinimalSubscriberWithTopicStatistics : public rclcpp::Node } private: - void topic_callback(const std_msgs::msg::String::ConstSharedPtr msg) const + void topic_callback(const std_msgs::msg::String & msg) const { - RCLCPP_INFO(this->get_logger(), "I heard: '%s'", msg->data.c_str()); + RCLCPP_INFO(this->get_logger(), "I heard: '%s'", msg.data.c_str()); } rclcpp::Subscription::SharedPtr subscription_; }; diff --git a/rclcpp/topics/minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp b/rclcpp/topics/minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp index 72f273a9..2ee425b9 100644 --- a/rclcpp/topics/minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp +++ b/rclcpp/topics/minimal_subscriber/member_function_with_unique_network_flow_endpoints.cpp @@ -79,13 +79,13 @@ class MinimalSubscriberWithUniqueNetworkFlowEndpoints : public rclcpp::Node } private: - void topic_1_callback(const std_msgs::msg::String::ConstSharedPtr msg) const + void topic_1_callback(const std_msgs::msg::String & msg) const { - RCLCPP_INFO(this->get_logger(), "Topic 1 news: '%s'", msg->data.c_str()); + RCLCPP_INFO(this->get_logger(), "Topic 1 news: '%s'", msg.data.c_str()); } - void topic_2_callback(const std_msgs::msg::String::ConstSharedPtr msg) const + void topic_2_callback(const std_msgs::msg::String & msg) const { - RCLCPP_INFO(this->get_logger(), "Topic 2 news: '%s'", msg->data.c_str()); + RCLCPP_INFO(this->get_logger(), "Topic 2 news: '%s'", msg.data.c_str()); } /// Print network flow endpoints in JSON-like format void print_network_flow_endpoints( diff --git a/rclcpp/topics/minimal_subscriber/not_composable.cpp b/rclcpp/topics/minimal_subscriber/not_composable.cpp index 9b282cb5..176f83a7 100644 --- a/rclcpp/topics/minimal_subscriber/not_composable.cpp +++ b/rclcpp/topics/minimal_subscriber/not_composable.cpp @@ -22,9 +22,9 @@ rclcpp::Node::SharedPtr g_node = nullptr; * examples for the "new" recommended styles. This example is only included * for completeness because it is similar to "classic" standalone ROS nodes. */ -void topic_callback(const std_msgs::msg::String::ConstSharedPtr msg) +void topic_callback(const std_msgs::msg::String & msg) { - RCLCPP_INFO(g_node->get_logger(), "I heard: '%s'", msg->data.c_str()); + RCLCPP_INFO(g_node->get_logger(), "I heard: '%s'", msg.data.c_str()); } int main(int argc, char * argv[])