00001 #include <tf/boost/tfMessage.h> 00002 #include "ros_msg_transporter.hpp" 00003 #include "RosLib.hpp" 00004 #include <rtt/types/TransportPlugin.hpp> 00005 #include <rtt/types/TypekitPlugin.hpp> 00006 00007 namespace ros_integration { 00008 using namespace RTT; 00009 struct ROStfMessagePlugin 00010 : public types::TransportPlugin 00011 { 00012 bool registerTransport(std::string name, types::TypeInfo* ti) 00013 { 00014 if(name == "/tf/tfMessage") 00015 return ti->addProtocol(ORO_ROS_PROTOCOL_ID,new RosMsgTransporter<tf::tfMessage>()); 00016 return false; 00017 } 00018 00019 std::string getTransportName() const { 00020 return "ros"; 00021 } 00022 00023 std::string getTypekitName() const { 00024 return std::string("ros-")+"tfMessage"; 00025 } 00026 std::string getName() const { 00027 return std::string("rtt-ros-") + "tfMessage" + "-transport"; 00028 } 00029 00030 }; 00031 } 00032 00033 ORO_TYPEKIT_PLUGIN( ros_integration::ROStfMessagePlugin )