node_handle.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifdef ROS2 /**********************************************************************************************************/
4 #include "rclcpp/rclcpp.hpp"
5 
6 namespace ensenso
7 {
8 namespace ros
9 {
10 class NodeHandle_
11 {
12 public:
13  NodeHandle_(rclcpp::Node* node) : _node(node)
14  {
15  }
16 
17  rclcpp::Node* node()
18  {
19  return _node;
20  }
21 
22  rclcpp::node_interfaces::NodeBaseInterface::SharedPtr get_base_interface()
23  {
24  return _node->get_node_base_interface();
25  }
26 
27  rclcpp::node_interfaces::NodeClockInterface::SharedPtr get_clock_interface()
28  {
29  return _node->get_node_clock_interface();
30  }
31 
32  rclcpp::node_interfaces::NodeLoggingInterface::SharedPtr get_logging_interface()
33  {
34  return _node->get_node_logging_interface();
35  }
36 
37  rclcpp::node_interfaces::NodeParametersInterface::SharedPtr get_parameters_interface()
38  {
39  return _node->get_node_parameters_interface();
40  }
41 
42  rclcpp::node_interfaces::NodeTopicsInterface::SharedPtr get_topics_interface()
43  {
44  return _node->get_node_topics_interface();
45  }
46 
47  rclcpp::node_interfaces::NodeTimersInterface::SharedPtr get_timers_interface()
48  {
49  return _node->get_node_timers_interface();
50  }
51 
52  rclcpp::node_interfaces::NodeWaitablesInterface::SharedPtr get_waitables_interface()
53  {
54  return _node->get_node_waitables_interface();
55  }
56 
57 private:
58  rclcpp::Node* _node;
59 };
60 
61 using NodeHandle = std::shared_ptr<NodeHandle_>;
62 } // namespace ros
63 } // namespace ensenso
64 
65 #define create_node_handle(node) std::make_shared<ensenso::ros::NodeHandle_>(node)
66 
67 #define CREATE_NODE_HANDLE(nh) nh = create_node_handle(this);
68 
69 #else /***ROS1*********************************************************************************************************/
70 #include <ros/ros.h>
71 
72 namespace ensenso
73 {
74 namespace ros
75 {
77 } // namespace ros
78 } // namespace ensenso
79 
80 #define CREATE_NODE_HANDLE(nh) static_assert(true, "")
81 
82 #endif
::ros::NodeHandle NodeHandle
Definition: node.h:214


ensenso_camera
Author(s): Ensenso
autogenerated on Sat Jun 3 2023 02:17:04