raw_publisher.h
Go to the documentation of this file.
00001 #ifndef IMAGE_TRANSPORT_RAW_PUBLISHER_H
00002 #define IMAGE_TRANSPORT_RAW_PUBLISHER_H
00003 
00004 #include "image_transport/simple_publisher_plugin.h"
00005 
00006 namespace image_transport {
00007 
00014 class RawPublisher : public SimplePublisherPlugin<sensor_msgs::Image>
00015 {
00016 public:
00017   virtual ~RawPublisher() {}
00018 
00019   virtual std::string getTransportName() const
00020   {
00021     return "raw";
00022   }
00023 
00024   // Override the default implementation because publishing the message pointer allows
00025   // the no-copy intraprocess optimization.
00026   virtual void publish(const sensor_msgs::ImageConstPtr& message) const
00027   {
00028     getPublisher().publish(message);
00029   }
00030 
00031 protected:
00032   virtual void publish(const sensor_msgs::Image& message, const PublishFn& publish_fn) const
00033   {
00034     publish_fn(message);
00035   }
00036 
00037   virtual std::string getTopicToAdvertise(const std::string& base_topic) const
00038   {
00039     return base_topic;
00040   }
00041 };
00042 
00043 } //namespace image_transport
00044 
00045 #endif


image_transport
Author(s): Patrick Mihelich
autogenerated on Fri Jan 3 2014 11:24:08