add ros_dds_cpp_dynamic_typesupport
This commit is contained in:
parent
bcecf00928
commit
6b07c8f928
15 changed files with 480 additions and 42 deletions
|
@ -4,6 +4,7 @@
|
|||
#include "Publisher.h"
|
||||
|
||||
#include "ros_middleware_interface/functions.h"
|
||||
#include "ros_middleware_interface/handles.h"
|
||||
|
||||
|
||||
namespace rclcpp
|
||||
|
@ -20,13 +21,13 @@ public:
|
|||
template<typename ROSMessage>
|
||||
Publisher<ROSMessage>* create_publisher(const char * topic_name)
|
||||
{
|
||||
const rosidl_generator_cpp::MessageTypeSupportMembers & members = rosidl_generator_cpp::MessageTypeSupport<ROSMessage>::get_members();
|
||||
void * publisher_handle = ::ros_middleware_interface::create_publisher(node_handle_, members, topic_name);
|
||||
const rosidl_generator_cpp::MessageTypeSupportHandle & type_support_handle = rosidl_generator_cpp::MessageTypeSupport<ROSMessage>::get_type_support_handle();
|
||||
ros_middleware_interface::PublisherHandle publisher_handle = ::ros_middleware_interface::create_publisher(node_handle_, type_support_handle, topic_name);
|
||||
return new Publisher<ROSMessage>(publisher_handle);
|
||||
}
|
||||
|
||||
private:
|
||||
void * node_handle_;
|
||||
ros_middleware_interface::NodeHandle node_handle_;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define __rclcpp__Publisher__h__
|
||||
|
||||
#include "ros_middleware_interface/functions.h"
|
||||
#include "ros_middleware_interface/handles.h"
|
||||
|
||||
|
||||
namespace rclcpp
|
||||
|
@ -11,7 +12,7 @@ template<typename ROSMessage>
|
|||
class Publisher
|
||||
{
|
||||
public:
|
||||
Publisher(void * publisher_handle)
|
||||
Publisher(const ros_middleware_interface::PublisherHandle& publisher_handle)
|
||||
: publisher_handle_(publisher_handle)
|
||||
{}
|
||||
|
||||
|
@ -21,7 +22,7 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
void * publisher_handle_;
|
||||
ros_middleware_interface::PublisherHandle publisher_handle_;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue