Go to the documentation of this file.00001
00002 #ifndef PR2_CLUTTER_HELPER_SERVICE_GETIMAGE_H
00003 #define PR2_CLUTTER_HELPER_SERVICE_GETIMAGE_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "ros/service_traits.h"
00018
00019
00020
00021 #include "sensor_msgs/Image.h"
00022
00023 namespace pr2_clutter_helper
00024 {
00025 template <class ContainerAllocator>
00026 struct GetImageRequest_ {
00027 typedef GetImageRequest_<ContainerAllocator> Type;
00028
00029 GetImageRequest_()
00030 : topic_name()
00031 , msg_type()
00032 {
00033 }
00034
00035 GetImageRequest_(const ContainerAllocator& _alloc)
00036 : topic_name(_alloc)
00037 , msg_type(_alloc)
00038 {
00039 }
00040
00041 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _topic_name_type;
00042 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > topic_name;
00043
00044 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _msg_type_type;
00045 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > msg_type;
00046
00047
00048 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > Ptr;
00049 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> const> ConstPtr;
00050 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00051 };
00052 typedef ::pr2_clutter_helper::GetImageRequest_<std::allocator<void> > GetImageRequest;
00053
00054 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageRequest> GetImageRequestPtr;
00055 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageRequest const> GetImageRequestConstPtr;
00056
00057
00058 template <class ContainerAllocator>
00059 struct GetImageResponse_ {
00060 typedef GetImageResponse_<ContainerAllocator> Type;
00061
00062 GetImageResponse_()
00063 : image()
00064 {
00065 }
00066
00067 GetImageResponse_(const ContainerAllocator& _alloc)
00068 : image(_alloc)
00069 {
00070 }
00071
00072 typedef ::sensor_msgs::Image_<ContainerAllocator> _image_type;
00073 ::sensor_msgs::Image_<ContainerAllocator> image;
00074
00075
00076 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > Ptr;
00077 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> const> ConstPtr;
00078 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00079 };
00080 typedef ::pr2_clutter_helper::GetImageResponse_<std::allocator<void> > GetImageResponse;
00081
00082 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageResponse> GetImageResponsePtr;
00083 typedef boost::shared_ptr< ::pr2_clutter_helper::GetImageResponse const> GetImageResponseConstPtr;
00084
00085 struct GetImage
00086 {
00087
00088 typedef GetImageRequest Request;
00089 typedef GetImageResponse Response;
00090 Request request;
00091 Response response;
00092
00093 typedef Request RequestType;
00094 typedef Response ResponseType;
00095 };
00096 }
00097
00098 namespace ros
00099 {
00100 namespace message_traits
00101 {
00102 template<class ContainerAllocator> struct IsMessage< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > : public TrueType {};
00103 template<class ContainerAllocator> struct IsMessage< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> const> : public TrueType {};
00104 template<class ContainerAllocator>
00105 struct MD5Sum< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > {
00106 static const char* value()
00107 {
00108 return "13abbc87c0c0b2fc9a6d87f74375a5d7";
00109 }
00110
00111 static const char* value(const ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> &) { return value(); }
00112 static const uint64_t static_value1 = 0x13abbc87c0c0b2fcULL;
00113 static const uint64_t static_value2 = 0x9a6d87f74375a5d7ULL;
00114 };
00115
00116 template<class ContainerAllocator>
00117 struct DataType< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "pr2_clutter_helper/GetImageRequest";
00121 }
00122
00123 static const char* value(const ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> &) { return value(); }
00124 };
00125
00126 template<class ContainerAllocator>
00127 struct Definition< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > {
00128 static const char* value()
00129 {
00130 return "string topic_name\n\
00131 string msg_type\n\
00132 \n\
00133 ";
00134 }
00135
00136 static const char* value(const ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> &) { return value(); }
00137 };
00138
00139 }
00140 }
00141
00142
00143 namespace ros
00144 {
00145 namespace message_traits
00146 {
00147 template<class ContainerAllocator> struct IsMessage< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > : public TrueType {};
00148 template<class ContainerAllocator> struct IsMessage< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> const> : public TrueType {};
00149 template<class ContainerAllocator>
00150 struct MD5Sum< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > {
00151 static const char* value()
00152 {
00153 return "b13d2865c5af2a64e6e30ab1b56e1dd5";
00154 }
00155
00156 static const char* value(const ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> &) { return value(); }
00157 static const uint64_t static_value1 = 0xb13d2865c5af2a64ULL;
00158 static const uint64_t static_value2 = 0xe6e30ab1b56e1dd5ULL;
00159 };
00160
00161 template<class ContainerAllocator>
00162 struct DataType< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > {
00163 static const char* value()
00164 {
00165 return "pr2_clutter_helper/GetImageResponse";
00166 }
00167
00168 static const char* value(const ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> &) { return value(); }
00169 };
00170
00171 template<class ContainerAllocator>
00172 struct Definition< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > {
00173 static const char* value()
00174 {
00175 return "sensor_msgs/Image image\n\
00176 \n\
00177 \n\
00178 ================================================================================\n\
00179 MSG: sensor_msgs/Image\n\
00180 # This message contains an uncompressed image\n\
00181 # (0, 0) is at top-left corner of image\n\
00182 #\n\
00183 \n\
00184 Header header # Header timestamp should be acquisition time of image\n\
00185 # Header frame_id should be optical frame of camera\n\
00186 # origin of frame should be optical center of cameara\n\
00187 # +x should point to the right in the image\n\
00188 # +y should point down in the image\n\
00189 # +z should point into to plane of the image\n\
00190 # If the frame_id here and the frame_id of the CameraInfo\n\
00191 # message associated with the image conflict\n\
00192 # the behavior is undefined\n\
00193 \n\
00194 uint32 height # image height, that is, number of rows\n\
00195 uint32 width # image width, that is, number of columns\n\
00196 \n\
00197 # The legal values for encoding are in file src/image_encodings.cpp\n\
00198 # If you want to standardize a new string format, join\n\
00199 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00200 \n\
00201 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\
00202 # taken from the list of strings in src/image_encodings.cpp\n\
00203 \n\
00204 uint8 is_bigendian # is this data bigendian?\n\
00205 uint32 step # Full row length in bytes\n\
00206 uint8[] data # actual matrix data, size is (step * rows)\n\
00207 \n\
00208 ================================================================================\n\
00209 MSG: std_msgs/Header\n\
00210 # Standard metadata for higher-level stamped data types.\n\
00211 # This is generally used to communicate timestamped data \n\
00212 # in a particular coordinate frame.\n\
00213 # \n\
00214 # sequence ID: consecutively increasing ID \n\
00215 uint32 seq\n\
00216 #Two-integer timestamp that is expressed as:\n\
00217 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00218 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00219 # time-handling sugar is provided by the client library\n\
00220 time stamp\n\
00221 #Frame this data is associated with\n\
00222 # 0: no frame\n\
00223 # 1: global frame\n\
00224 string frame_id\n\
00225 \n\
00226 ";
00227 }
00228
00229 static const char* value(const ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> &) { return value(); }
00230 };
00231
00232 }
00233 }
00234
00235 namespace ros
00236 {
00237 namespace serialization
00238 {
00239
00240 template<class ContainerAllocator> struct Serializer< ::pr2_clutter_helper::GetImageRequest_<ContainerAllocator> >
00241 {
00242 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00243 {
00244 stream.next(m.topic_name);
00245 stream.next(m.msg_type);
00246 }
00247
00248 ROS_DECLARE_ALLINONE_SERIALIZER;
00249 };
00250 }
00251 }
00252
00253
00254 namespace ros
00255 {
00256 namespace serialization
00257 {
00258
00259 template<class ContainerAllocator> struct Serializer< ::pr2_clutter_helper::GetImageResponse_<ContainerAllocator> >
00260 {
00261 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00262 {
00263 stream.next(m.image);
00264 }
00265
00266 ROS_DECLARE_ALLINONE_SERIALIZER;
00267 };
00268 }
00269 }
00270
00271 namespace ros
00272 {
00273 namespace service_traits
00274 {
00275 template<>
00276 struct MD5Sum<pr2_clutter_helper::GetImage> {
00277 static const char* value()
00278 {
00279 return "45eeb3e02dd8ff4ceecaf796323cbe24";
00280 }
00281
00282 static const char* value(const pr2_clutter_helper::GetImage&) { return value(); }
00283 };
00284
00285 template<>
00286 struct DataType<pr2_clutter_helper::GetImage> {
00287 static const char* value()
00288 {
00289 return "pr2_clutter_helper/GetImage";
00290 }
00291
00292 static const char* value(const pr2_clutter_helper::GetImage&) { return value(); }
00293 };
00294
00295 template<class ContainerAllocator>
00296 struct MD5Sum<pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > {
00297 static const char* value()
00298 {
00299 return "45eeb3e02dd8ff4ceecaf796323cbe24";
00300 }
00301
00302 static const char* value(const pr2_clutter_helper::GetImageRequest_<ContainerAllocator> &) { return value(); }
00303 };
00304
00305 template<class ContainerAllocator>
00306 struct DataType<pr2_clutter_helper::GetImageRequest_<ContainerAllocator> > {
00307 static const char* value()
00308 {
00309 return "pr2_clutter_helper/GetImage";
00310 }
00311
00312 static const char* value(const pr2_clutter_helper::GetImageRequest_<ContainerAllocator> &) { return value(); }
00313 };
00314
00315 template<class ContainerAllocator>
00316 struct MD5Sum<pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > {
00317 static const char* value()
00318 {
00319 return "45eeb3e02dd8ff4ceecaf796323cbe24";
00320 }
00321
00322 static const char* value(const pr2_clutter_helper::GetImageResponse_<ContainerAllocator> &) { return value(); }
00323 };
00324
00325 template<class ContainerAllocator>
00326 struct DataType<pr2_clutter_helper::GetImageResponse_<ContainerAllocator> > {
00327 static const char* value()
00328 {
00329 return "pr2_clutter_helper/GetImage";
00330 }
00331
00332 static const char* value(const pr2_clutter_helper::GetImageResponse_<ContainerAllocator> &) { return value(); }
00333 };
00334
00335 }
00336 }
00337
00338 #endif // PR2_CLUTTER_HELPER_SERVICE_GETIMAGE_H
00339