Merge pull request #15 from ros2/disambiguate-linking

Use type support handle functions from the rmw implementation
This commit is contained in:
Esteve Fernandez 2015-03-20 11:43:09 -07:00
commit cadc8e76e1

View file

@ -20,6 +20,8 @@
#include <string> #include <string>
#include <rmw/rmw.h> #include <rmw/rmw.h>
#include <rmw/get_type_support_handle.h>
#include <rosidl_generator_cpp/MessageTypeSupport.h> #include <rosidl_generator_cpp/MessageTypeSupport.h>
#include <rosidl_generator_cpp/ServiceTypeSupport.h> #include <rosidl_generator_cpp/ServiceTypeSupport.h>
@ -63,7 +65,7 @@ template<typename MessageT>
publisher::Publisher::SharedPtr publisher::Publisher::SharedPtr
Node::create_publisher(std::string topic_name, size_t queue_size) Node::create_publisher(std::string topic_name, size_t queue_size)
{ {
using rosidl_generator_cpp::get_type_support_handle; using rmw::get_type_support_handle;
auto type_support_handle = get_type_support_handle<MessageT>(); auto type_support_handle = get_type_support_handle<MessageT>();
rmw_publisher_t * publisher_handle = rmw_create_publisher( rmw_publisher_t * publisher_handle = rmw_create_publisher(
node_handle_, type_support_handle, topic_name.c_str(), queue_size); node_handle_, type_support_handle, topic_name.c_str(), queue_size);
@ -94,7 +96,7 @@ Node::create_subscription(
std::function<void(const std::shared_ptr<MessageT> &)> callback, std::function<void(const std::shared_ptr<MessageT> &)> callback,
rclcpp::callback_group::CallbackGroup::SharedPtr group) rclcpp::callback_group::CallbackGroup::SharedPtr group)
{ {
using rosidl_generator_cpp::get_type_support_handle; using rmw::get_type_support_handle;
auto type_support_handle = get_type_support_handle<MessageT>(); auto type_support_handle = get_type_support_handle<MessageT>();
rmw_subscription_t * subscriber_handle = rmw_create_subscription( rmw_subscription_t * subscriber_handle = rmw_create_subscription(
node_handle_, type_support_handle, topic_name.c_str(), queue_size); node_handle_, type_support_handle, topic_name.c_str(), queue_size);