Go to the documentation of this file.00001
00002 #ifndef HRL_CLICKABLE_WORLD_SERVICE_BUTTONACTION_H
00003 #define HRL_CLICKABLE_WORLD_SERVICE_BUTTONACTION_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 #include "geometry_msgs/PointStamped.h"
00020
00021
00022
00023 namespace hrl_clickable_world
00024 {
00025 template <class ContainerAllocator>
00026 struct ButtonActionRequest_ {
00027 typedef ButtonActionRequest_<ContainerAllocator> Type;
00028
00029 ButtonActionRequest_()
00030 : pixel_x(0)
00031 , pixel_y(0)
00032 , camera_frame()
00033 , button_id(0)
00034 , button_type()
00035 , pixel3d()
00036 {
00037 }
00038
00039 ButtonActionRequest_(const ContainerAllocator& _alloc)
00040 : pixel_x(0)
00041 , pixel_y(0)
00042 , camera_frame(_alloc)
00043 , button_id(0)
00044 , button_type(_alloc)
00045 , pixel3d(_alloc)
00046 {
00047 }
00048
00049 typedef int32_t _pixel_x_type;
00050 int32_t pixel_x;
00051
00052 typedef int32_t _pixel_y_type;
00053 int32_t pixel_y;
00054
00055 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _camera_frame_type;
00056 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > camera_frame;
00057
00058 typedef int32_t _button_id_type;
00059 int32_t button_id;
00060
00061 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _button_type_type;
00062 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > button_type;
00063
00064 typedef ::geometry_msgs::PointStamped_<ContainerAllocator> _pixel3d_type;
00065 ::geometry_msgs::PointStamped_<ContainerAllocator> pixel3d;
00066
00067
00068 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > Ptr;
00069 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> const> ConstPtr;
00070 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00071 };
00072 typedef ::hrl_clickable_world::ButtonActionRequest_<std::allocator<void> > ButtonActionRequest;
00073
00074 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionRequest> ButtonActionRequestPtr;
00075 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionRequest const> ButtonActionRequestConstPtr;
00076
00077
00078 template <class ContainerAllocator>
00079 struct ButtonActionResponse_ {
00080 typedef ButtonActionResponse_<ContainerAllocator> Type;
00081
00082 ButtonActionResponse_()
00083 {
00084 }
00085
00086 ButtonActionResponse_(const ContainerAllocator& _alloc)
00087 {
00088 }
00089
00090
00091 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > Ptr;
00092 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> const> ConstPtr;
00093 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00094 };
00095 typedef ::hrl_clickable_world::ButtonActionResponse_<std::allocator<void> > ButtonActionResponse;
00096
00097 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionResponse> ButtonActionResponsePtr;
00098 typedef boost::shared_ptr< ::hrl_clickable_world::ButtonActionResponse const> ButtonActionResponseConstPtr;
00099
00100 struct ButtonAction
00101 {
00102
00103 typedef ButtonActionRequest Request;
00104 typedef ButtonActionResponse Response;
00105 Request request;
00106 Response response;
00107
00108 typedef Request RequestType;
00109 typedef Response ResponseType;
00110 };
00111 }
00112
00113 namespace ros
00114 {
00115 namespace message_traits
00116 {
00117 template<class ContainerAllocator> struct IsMessage< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > : public TrueType {};
00118 template<class ContainerAllocator> struct IsMessage< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> const> : public TrueType {};
00119 template<class ContainerAllocator>
00120 struct MD5Sum< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > {
00121 static const char* value()
00122 {
00123 return "a8c0927f3216b0c74079386e4a99613b";
00124 }
00125
00126 static const char* value(const ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> &) { return value(); }
00127 static const uint64_t static_value1 = 0xa8c0927f3216b0c7ULL;
00128 static const uint64_t static_value2 = 0x4079386e4a99613bULL;
00129 };
00130
00131 template<class ContainerAllocator>
00132 struct DataType< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > {
00133 static const char* value()
00134 {
00135 return "hrl_clickable_world/ButtonActionRequest";
00136 }
00137
00138 static const char* value(const ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> &) { return value(); }
00139 };
00140
00141 template<class ContainerAllocator>
00142 struct Definition< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > {
00143 static const char* value()
00144 {
00145 return "int32 pixel_x\n\
00146 int32 pixel_y\n\
00147 string camera_frame\n\
00148 int32 button_id\n\
00149 string button_type\n\
00150 geometry_msgs/PointStamped pixel3d\n\
00151 \n\
00152 ================================================================================\n\
00153 MSG: geometry_msgs/PointStamped\n\
00154 # This represents a Point with reference coordinate frame and timestamp\n\
00155 Header header\n\
00156 Point point\n\
00157 \n\
00158 ================================================================================\n\
00159 MSG: std_msgs/Header\n\
00160 # Standard metadata for higher-level stamped data types.\n\
00161 # This is generally used to communicate timestamped data \n\
00162 # in a particular coordinate frame.\n\
00163 # \n\
00164 # sequence ID: consecutively increasing ID \n\
00165 uint32 seq\n\
00166 #Two-integer timestamp that is expressed as:\n\
00167 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00168 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00169 # time-handling sugar is provided by the client library\n\
00170 time stamp\n\
00171 #Frame this data is associated with\n\
00172 # 0: no frame\n\
00173 # 1: global frame\n\
00174 string frame_id\n\
00175 \n\
00176 ================================================================================\n\
00177 MSG: geometry_msgs/Point\n\
00178 # This contains the position of a point in free space\n\
00179 float64 x\n\
00180 float64 y\n\
00181 float64 z\n\
00182 \n\
00183 ";
00184 }
00185
00186 static const char* value(const ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> &) { return value(); }
00187 };
00188
00189 }
00190 }
00191
00192
00193 namespace ros
00194 {
00195 namespace message_traits
00196 {
00197 template<class ContainerAllocator> struct IsMessage< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > : public TrueType {};
00198 template<class ContainerAllocator> struct IsMessage< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> const> : public TrueType {};
00199 template<class ContainerAllocator>
00200 struct MD5Sum< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > {
00201 static const char* value()
00202 {
00203 return "d41d8cd98f00b204e9800998ecf8427e";
00204 }
00205
00206 static const char* value(const ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> &) { return value(); }
00207 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL;
00208 static const uint64_t static_value2 = 0xe9800998ecf8427eULL;
00209 };
00210
00211 template<class ContainerAllocator>
00212 struct DataType< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > {
00213 static const char* value()
00214 {
00215 return "hrl_clickable_world/ButtonActionResponse";
00216 }
00217
00218 static const char* value(const ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> &) { return value(); }
00219 };
00220
00221 template<class ContainerAllocator>
00222 struct Definition< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > {
00223 static const char* value()
00224 {
00225 return "\n\
00226 \n\
00227 ";
00228 }
00229
00230 static const char* value(const ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> &) { return value(); }
00231 };
00232
00233 template<class ContainerAllocator> struct IsFixedSize< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > : public TrueType {};
00234 }
00235 }
00236
00237 namespace ros
00238 {
00239 namespace serialization
00240 {
00241
00242 template<class ContainerAllocator> struct Serializer< ::hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> >
00243 {
00244 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00245 {
00246 stream.next(m.pixel_x);
00247 stream.next(m.pixel_y);
00248 stream.next(m.camera_frame);
00249 stream.next(m.button_id);
00250 stream.next(m.button_type);
00251 stream.next(m.pixel3d);
00252 }
00253
00254 ROS_DECLARE_ALLINONE_SERIALIZER;
00255 };
00256 }
00257 }
00258
00259
00260 namespace ros
00261 {
00262 namespace serialization
00263 {
00264
00265 template<class ContainerAllocator> struct Serializer< ::hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> >
00266 {
00267 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00268 {
00269 }
00270
00271 ROS_DECLARE_ALLINONE_SERIALIZER;
00272 };
00273 }
00274 }
00275
00276 namespace ros
00277 {
00278 namespace service_traits
00279 {
00280 template<>
00281 struct MD5Sum<hrl_clickable_world::ButtonAction> {
00282 static const char* value()
00283 {
00284 return "a8c0927f3216b0c74079386e4a99613b";
00285 }
00286
00287 static const char* value(const hrl_clickable_world::ButtonAction&) { return value(); }
00288 };
00289
00290 template<>
00291 struct DataType<hrl_clickable_world::ButtonAction> {
00292 static const char* value()
00293 {
00294 return "hrl_clickable_world/ButtonAction";
00295 }
00296
00297 static const char* value(const hrl_clickable_world::ButtonAction&) { return value(); }
00298 };
00299
00300 template<class ContainerAllocator>
00301 struct MD5Sum<hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > {
00302 static const char* value()
00303 {
00304 return "a8c0927f3216b0c74079386e4a99613b";
00305 }
00306
00307 static const char* value(const hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> &) { return value(); }
00308 };
00309
00310 template<class ContainerAllocator>
00311 struct DataType<hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> > {
00312 static const char* value()
00313 {
00314 return "hrl_clickable_world/ButtonAction";
00315 }
00316
00317 static const char* value(const hrl_clickable_world::ButtonActionRequest_<ContainerAllocator> &) { return value(); }
00318 };
00319
00320 template<class ContainerAllocator>
00321 struct MD5Sum<hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > {
00322 static const char* value()
00323 {
00324 return "a8c0927f3216b0c74079386e4a99613b";
00325 }
00326
00327 static const char* value(const hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> &) { return value(); }
00328 };
00329
00330 template<class ContainerAllocator>
00331 struct DataType<hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> > {
00332 static const char* value()
00333 {
00334 return "hrl_clickable_world/ButtonAction";
00335 }
00336
00337 static const char* value(const hrl_clickable_world::ButtonActionResponse_<ContainerAllocator> &) { return value(); }
00338 };
00339
00340 }
00341 }
00342
00343 #endif // HRL_CLICKABLE_WORLD_SERVICE_BUTTONACTION_H
00344