$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-tum-ros-pkg/doc_stacks/2012-12-03_20-44-47.528296/tum-ros-pkg/demos/ros_fall_school_2010/table_pose/srv/GetPose.srv */ 00002 #ifndef TABLE_POSE_SERVICE_GETPOSE_H 00003 #define TABLE_POSE_SERVICE_GETPOSE_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 "sensor_msgs/PointCloud2.h" 00020 00021 00022 #include "geometry_msgs/PoseStamped.h" 00023 00024 namespace table_pose 00025 { 00026 template <class ContainerAllocator> 00027 struct GetPoseRequest_ { 00028 typedef GetPoseRequest_<ContainerAllocator> Type; 00029 00030 GetPoseRequest_() 00031 : data() 00032 { 00033 } 00034 00035 GetPoseRequest_(const ContainerAllocator& _alloc) 00036 : data(_alloc) 00037 { 00038 } 00039 00040 typedef ::sensor_msgs::PointCloud2_<ContainerAllocator> _data_type; 00041 ::sensor_msgs::PointCloud2_<ContainerAllocator> data; 00042 00043 00044 private: 00045 static const char* __s_getDataType_() { return "table_pose/GetPoseRequest"; } 00046 public: 00047 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00048 00049 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00050 00051 private: 00052 static const char* __s_getMD5Sum_() { return "d5d036aeaa020e7f5e0ddd6aeae0e7d8"; } 00053 public: 00054 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00055 00056 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00057 00058 private: 00059 static const char* __s_getServerMD5Sum_() { return "81e9d3aaa4af67d8dbbdf94ddcea579a"; } 00060 public: 00061 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00062 00063 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00064 00065 private: 00066 static const char* __s_getMessageDefinition_() { return "sensor_msgs/PointCloud2 data\n\ 00067 \n\ 00068 ================================================================================\n\ 00069 MSG: sensor_msgs/PointCloud2\n\ 00070 # This message holds a collection of N-dimensional points, which may\n\ 00071 # contain additional information such as normals, intensity, etc. The\n\ 00072 # point data is stored as a binary blob, its layout described by the\n\ 00073 # contents of the \"fields\" array.\n\ 00074 \n\ 00075 # The point cloud data may be organized 2d (image-like) or 1d\n\ 00076 # (unordered). Point clouds organized as 2d images may be produced by\n\ 00077 # camera depth sensors such as stereo or time-of-flight.\n\ 00078 \n\ 00079 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\ 00080 # points).\n\ 00081 Header header\n\ 00082 \n\ 00083 # 2D structure of the point cloud. If the cloud is unordered, height is\n\ 00084 # 1 and width is the length of the point cloud.\n\ 00085 uint32 height\n\ 00086 uint32 width\n\ 00087 \n\ 00088 # Describes the channels and their layout in the binary data blob.\n\ 00089 PointField[] fields\n\ 00090 \n\ 00091 bool is_bigendian # Is this data bigendian?\n\ 00092 uint32 point_step # Length of a point in bytes\n\ 00093 uint32 row_step # Length of a row in bytes\n\ 00094 uint8[] data # Actual point data, size is (row_step*height)\n\ 00095 \n\ 00096 bool is_dense # True if there are no invalid points\n\ 00097 \n\ 00098 ================================================================================\n\ 00099 MSG: std_msgs/Header\n\ 00100 # Standard metadata for higher-level stamped data types.\n\ 00101 # This is generally used to communicate timestamped data \n\ 00102 # in a particular coordinate frame.\n\ 00103 # \n\ 00104 # sequence ID: consecutively increasing ID \n\ 00105 uint32 seq\n\ 00106 #Two-integer timestamp that is expressed as:\n\ 00107 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00108 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00109 # time-handling sugar is provided by the client library\n\ 00110 time stamp\n\ 00111 #Frame this data is associated with\n\ 00112 # 0: no frame\n\ 00113 # 1: global frame\n\ 00114 string frame_id\n\ 00115 \n\ 00116 ================================================================================\n\ 00117 MSG: sensor_msgs/PointField\n\ 00118 # This message holds the description of one point entry in the\n\ 00119 # PointCloud2 message format.\n\ 00120 uint8 INT8 = 1\n\ 00121 uint8 UINT8 = 2\n\ 00122 uint8 INT16 = 3\n\ 00123 uint8 UINT16 = 4\n\ 00124 uint8 INT32 = 5\n\ 00125 uint8 UINT32 = 6\n\ 00126 uint8 FLOAT32 = 7\n\ 00127 uint8 FLOAT64 = 8\n\ 00128 \n\ 00129 string name # Name of field\n\ 00130 uint32 offset # Offset from start of point struct\n\ 00131 uint8 datatype # Datatype enumeration, see above\n\ 00132 uint32 count # How many elements in the field\n\ 00133 \n\ 00134 "; } 00135 public: 00136 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00137 00138 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00139 00140 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00141 { 00142 ros::serialization::OStream stream(write_ptr, 1000000000); 00143 ros::serialization::serialize(stream, data); 00144 return stream.getData(); 00145 } 00146 00147 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00148 { 00149 ros::serialization::IStream stream(read_ptr, 1000000000); 00150 ros::serialization::deserialize(stream, data); 00151 return stream.getData(); 00152 } 00153 00154 ROS_DEPRECATED virtual uint32_t serializationLength() const 00155 { 00156 uint32_t size = 0; 00157 size += ros::serialization::serializationLength(data); 00158 return size; 00159 } 00160 00161 typedef boost::shared_ptr< ::table_pose::GetPoseRequest_<ContainerAllocator> > Ptr; 00162 typedef boost::shared_ptr< ::table_pose::GetPoseRequest_<ContainerAllocator> const> ConstPtr; 00163 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00164 }; // struct GetPoseRequest 00165 typedef ::table_pose::GetPoseRequest_<std::allocator<void> > GetPoseRequest; 00166 00167 typedef boost::shared_ptr< ::table_pose::GetPoseRequest> GetPoseRequestPtr; 00168 typedef boost::shared_ptr< ::table_pose::GetPoseRequest const> GetPoseRequestConstPtr; 00169 00170 00171 template <class ContainerAllocator> 00172 struct GetPoseResponse_ { 00173 typedef GetPoseResponse_<ContainerAllocator> Type; 00174 00175 GetPoseResponse_() 00176 : table_pose() 00177 { 00178 } 00179 00180 GetPoseResponse_(const ContainerAllocator& _alloc) 00181 : table_pose(_alloc) 00182 { 00183 } 00184 00185 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _table_pose_type; 00186 ::geometry_msgs::PoseStamped_<ContainerAllocator> table_pose; 00187 00188 00189 private: 00190 static const char* __s_getDataType_() { return "table_pose/GetPoseResponse"; } 00191 public: 00192 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00193 00194 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00195 00196 private: 00197 static const char* __s_getMD5Sum_() { return "f78936c7b8a2846339c5342aea067b14"; } 00198 public: 00199 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00200 00201 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00202 00203 private: 00204 static const char* __s_getServerMD5Sum_() { return "81e9d3aaa4af67d8dbbdf94ddcea579a"; } 00205 public: 00206 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); } 00207 00208 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); } 00209 00210 private: 00211 static const char* __s_getMessageDefinition_() { return "geometry_msgs/PoseStamped table_pose\n\ 00212 \n\ 00213 \n\ 00214 \n\ 00215 ================================================================================\n\ 00216 MSG: geometry_msgs/PoseStamped\n\ 00217 # A Pose with reference coordinate frame and timestamp\n\ 00218 Header header\n\ 00219 Pose pose\n\ 00220 \n\ 00221 ================================================================================\n\ 00222 MSG: std_msgs/Header\n\ 00223 # Standard metadata for higher-level stamped data types.\n\ 00224 # This is generally used to communicate timestamped data \n\ 00225 # in a particular coordinate frame.\n\ 00226 # \n\ 00227 # sequence ID: consecutively increasing ID \n\ 00228 uint32 seq\n\ 00229 #Two-integer timestamp that is expressed as:\n\ 00230 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00231 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00232 # time-handling sugar is provided by the client library\n\ 00233 time stamp\n\ 00234 #Frame this data is associated with\n\ 00235 # 0: no frame\n\ 00236 # 1: global frame\n\ 00237 string frame_id\n\ 00238 \n\ 00239 ================================================================================\n\ 00240 MSG: geometry_msgs/Pose\n\ 00241 # A representation of pose in free space, composed of postion and orientation. \n\ 00242 Point position\n\ 00243 Quaternion orientation\n\ 00244 \n\ 00245 ================================================================================\n\ 00246 MSG: geometry_msgs/Point\n\ 00247 # This contains the position of a point in free space\n\ 00248 float64 x\n\ 00249 float64 y\n\ 00250 float64 z\n\ 00251 \n\ 00252 ================================================================================\n\ 00253 MSG: geometry_msgs/Quaternion\n\ 00254 # This represents an orientation in free space in quaternion form.\n\ 00255 \n\ 00256 float64 x\n\ 00257 float64 y\n\ 00258 float64 z\n\ 00259 float64 w\n\ 00260 \n\ 00261 "; } 00262 public: 00263 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00264 00265 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00266 00267 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00268 { 00269 ros::serialization::OStream stream(write_ptr, 1000000000); 00270 ros::serialization::serialize(stream, table_pose); 00271 return stream.getData(); 00272 } 00273 00274 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00275 { 00276 ros::serialization::IStream stream(read_ptr, 1000000000); 00277 ros::serialization::deserialize(stream, table_pose); 00278 return stream.getData(); 00279 } 00280 00281 ROS_DEPRECATED virtual uint32_t serializationLength() const 00282 { 00283 uint32_t size = 0; 00284 size += ros::serialization::serializationLength(table_pose); 00285 return size; 00286 } 00287 00288 typedef boost::shared_ptr< ::table_pose::GetPoseResponse_<ContainerAllocator> > Ptr; 00289 typedef boost::shared_ptr< ::table_pose::GetPoseResponse_<ContainerAllocator> const> ConstPtr; 00290 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00291 }; // struct GetPoseResponse 00292 typedef ::table_pose::GetPoseResponse_<std::allocator<void> > GetPoseResponse; 00293 00294 typedef boost::shared_ptr< ::table_pose::GetPoseResponse> GetPoseResponsePtr; 00295 typedef boost::shared_ptr< ::table_pose::GetPoseResponse const> GetPoseResponseConstPtr; 00296 00297 struct GetPose 00298 { 00299 00300 typedef GetPoseRequest Request; 00301 typedef GetPoseResponse Response; 00302 Request request; 00303 Response response; 00304 00305 typedef Request RequestType; 00306 typedef Response ResponseType; 00307 }; // struct GetPose 00308 } // namespace table_pose 00309 00310 namespace ros 00311 { 00312 namespace message_traits 00313 { 00314 template<class ContainerAllocator> struct IsMessage< ::table_pose::GetPoseRequest_<ContainerAllocator> > : public TrueType {}; 00315 template<class ContainerAllocator> struct IsMessage< ::table_pose::GetPoseRequest_<ContainerAllocator> const> : public TrueType {}; 00316 template<class ContainerAllocator> 00317 struct MD5Sum< ::table_pose::GetPoseRequest_<ContainerAllocator> > { 00318 static const char* value() 00319 { 00320 return "d5d036aeaa020e7f5e0ddd6aeae0e7d8"; 00321 } 00322 00323 static const char* value(const ::table_pose::GetPoseRequest_<ContainerAllocator> &) { return value(); } 00324 static const uint64_t static_value1 = 0xd5d036aeaa020e7fULL; 00325 static const uint64_t static_value2 = 0x5e0ddd6aeae0e7d8ULL; 00326 }; 00327 00328 template<class ContainerAllocator> 00329 struct DataType< ::table_pose::GetPoseRequest_<ContainerAllocator> > { 00330 static const char* value() 00331 { 00332 return "table_pose/GetPoseRequest"; 00333 } 00334 00335 static const char* value(const ::table_pose::GetPoseRequest_<ContainerAllocator> &) { return value(); } 00336 }; 00337 00338 template<class ContainerAllocator> 00339 struct Definition< ::table_pose::GetPoseRequest_<ContainerAllocator> > { 00340 static const char* value() 00341 { 00342 return "sensor_msgs/PointCloud2 data\n\ 00343 \n\ 00344 ================================================================================\n\ 00345 MSG: sensor_msgs/PointCloud2\n\ 00346 # This message holds a collection of N-dimensional points, which may\n\ 00347 # contain additional information such as normals, intensity, etc. The\n\ 00348 # point data is stored as a binary blob, its layout described by the\n\ 00349 # contents of the \"fields\" array.\n\ 00350 \n\ 00351 # The point cloud data may be organized 2d (image-like) or 1d\n\ 00352 # (unordered). Point clouds organized as 2d images may be produced by\n\ 00353 # camera depth sensors such as stereo or time-of-flight.\n\ 00354 \n\ 00355 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\ 00356 # points).\n\ 00357 Header header\n\ 00358 \n\ 00359 # 2D structure of the point cloud. If the cloud is unordered, height is\n\ 00360 # 1 and width is the length of the point cloud.\n\ 00361 uint32 height\n\ 00362 uint32 width\n\ 00363 \n\ 00364 # Describes the channels and their layout in the binary data blob.\n\ 00365 PointField[] fields\n\ 00366 \n\ 00367 bool is_bigendian # Is this data bigendian?\n\ 00368 uint32 point_step # Length of a point in bytes\n\ 00369 uint32 row_step # Length of a row in bytes\n\ 00370 uint8[] data # Actual point data, size is (row_step*height)\n\ 00371 \n\ 00372 bool is_dense # True if there are no invalid points\n\ 00373 \n\ 00374 ================================================================================\n\ 00375 MSG: std_msgs/Header\n\ 00376 # Standard metadata for higher-level stamped data types.\n\ 00377 # This is generally used to communicate timestamped data \n\ 00378 # in a particular coordinate frame.\n\ 00379 # \n\ 00380 # sequence ID: consecutively increasing ID \n\ 00381 uint32 seq\n\ 00382 #Two-integer timestamp that is expressed as:\n\ 00383 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00384 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00385 # time-handling sugar is provided by the client library\n\ 00386 time stamp\n\ 00387 #Frame this data is associated with\n\ 00388 # 0: no frame\n\ 00389 # 1: global frame\n\ 00390 string frame_id\n\ 00391 \n\ 00392 ================================================================================\n\ 00393 MSG: sensor_msgs/PointField\n\ 00394 # This message holds the description of one point entry in the\n\ 00395 # PointCloud2 message format.\n\ 00396 uint8 INT8 = 1\n\ 00397 uint8 UINT8 = 2\n\ 00398 uint8 INT16 = 3\n\ 00399 uint8 UINT16 = 4\n\ 00400 uint8 INT32 = 5\n\ 00401 uint8 UINT32 = 6\n\ 00402 uint8 FLOAT32 = 7\n\ 00403 uint8 FLOAT64 = 8\n\ 00404 \n\ 00405 string name # Name of field\n\ 00406 uint32 offset # Offset from start of point struct\n\ 00407 uint8 datatype # Datatype enumeration, see above\n\ 00408 uint32 count # How many elements in the field\n\ 00409 \n\ 00410 "; 00411 } 00412 00413 static const char* value(const ::table_pose::GetPoseRequest_<ContainerAllocator> &) { return value(); } 00414 }; 00415 00416 } // namespace message_traits 00417 } // namespace ros 00418 00419 00420 namespace ros 00421 { 00422 namespace message_traits 00423 { 00424 template<class ContainerAllocator> struct IsMessage< ::table_pose::GetPoseResponse_<ContainerAllocator> > : public TrueType {}; 00425 template<class ContainerAllocator> struct IsMessage< ::table_pose::GetPoseResponse_<ContainerAllocator> const> : public TrueType {}; 00426 template<class ContainerAllocator> 00427 struct MD5Sum< ::table_pose::GetPoseResponse_<ContainerAllocator> > { 00428 static const char* value() 00429 { 00430 return "f78936c7b8a2846339c5342aea067b14"; 00431 } 00432 00433 static const char* value(const ::table_pose::GetPoseResponse_<ContainerAllocator> &) { return value(); } 00434 static const uint64_t static_value1 = 0xf78936c7b8a28463ULL; 00435 static const uint64_t static_value2 = 0x39c5342aea067b14ULL; 00436 }; 00437 00438 template<class ContainerAllocator> 00439 struct DataType< ::table_pose::GetPoseResponse_<ContainerAllocator> > { 00440 static const char* value() 00441 { 00442 return "table_pose/GetPoseResponse"; 00443 } 00444 00445 static const char* value(const ::table_pose::GetPoseResponse_<ContainerAllocator> &) { return value(); } 00446 }; 00447 00448 template<class ContainerAllocator> 00449 struct Definition< ::table_pose::GetPoseResponse_<ContainerAllocator> > { 00450 static const char* value() 00451 { 00452 return "geometry_msgs/PoseStamped table_pose\n\ 00453 \n\ 00454 \n\ 00455 \n\ 00456 ================================================================================\n\ 00457 MSG: geometry_msgs/PoseStamped\n\ 00458 # A Pose with reference coordinate frame and timestamp\n\ 00459 Header header\n\ 00460 Pose pose\n\ 00461 \n\ 00462 ================================================================================\n\ 00463 MSG: std_msgs/Header\n\ 00464 # Standard metadata for higher-level stamped data types.\n\ 00465 # This is generally used to communicate timestamped data \n\ 00466 # in a particular coordinate frame.\n\ 00467 # \n\ 00468 # sequence ID: consecutively increasing ID \n\ 00469 uint32 seq\n\ 00470 #Two-integer timestamp that is expressed as:\n\ 00471 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00472 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00473 # time-handling sugar is provided by the client library\n\ 00474 time stamp\n\ 00475 #Frame this data is associated with\n\ 00476 # 0: no frame\n\ 00477 # 1: global frame\n\ 00478 string frame_id\n\ 00479 \n\ 00480 ================================================================================\n\ 00481 MSG: geometry_msgs/Pose\n\ 00482 # A representation of pose in free space, composed of postion and orientation. \n\ 00483 Point position\n\ 00484 Quaternion orientation\n\ 00485 \n\ 00486 ================================================================================\n\ 00487 MSG: geometry_msgs/Point\n\ 00488 # This contains the position of a point in free space\n\ 00489 float64 x\n\ 00490 float64 y\n\ 00491 float64 z\n\ 00492 \n\ 00493 ================================================================================\n\ 00494 MSG: geometry_msgs/Quaternion\n\ 00495 # This represents an orientation in free space in quaternion form.\n\ 00496 \n\ 00497 float64 x\n\ 00498 float64 y\n\ 00499 float64 z\n\ 00500 float64 w\n\ 00501 \n\ 00502 "; 00503 } 00504 00505 static const char* value(const ::table_pose::GetPoseResponse_<ContainerAllocator> &) { return value(); } 00506 }; 00507 00508 } // namespace message_traits 00509 } // namespace ros 00510 00511 namespace ros 00512 { 00513 namespace serialization 00514 { 00515 00516 template<class ContainerAllocator> struct Serializer< ::table_pose::GetPoseRequest_<ContainerAllocator> > 00517 { 00518 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00519 { 00520 stream.next(m.data); 00521 } 00522 00523 ROS_DECLARE_ALLINONE_SERIALIZER; 00524 }; // struct GetPoseRequest_ 00525 } // namespace serialization 00526 } // namespace ros 00527 00528 00529 namespace ros 00530 { 00531 namespace serialization 00532 { 00533 00534 template<class ContainerAllocator> struct Serializer< ::table_pose::GetPoseResponse_<ContainerAllocator> > 00535 { 00536 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00537 { 00538 stream.next(m.table_pose); 00539 } 00540 00541 ROS_DECLARE_ALLINONE_SERIALIZER; 00542 }; // struct GetPoseResponse_ 00543 } // namespace serialization 00544 } // namespace ros 00545 00546 namespace ros 00547 { 00548 namespace service_traits 00549 { 00550 template<> 00551 struct MD5Sum<table_pose::GetPose> { 00552 static const char* value() 00553 { 00554 return "81e9d3aaa4af67d8dbbdf94ddcea579a"; 00555 } 00556 00557 static const char* value(const table_pose::GetPose&) { return value(); } 00558 }; 00559 00560 template<> 00561 struct DataType<table_pose::GetPose> { 00562 static const char* value() 00563 { 00564 return "table_pose/GetPose"; 00565 } 00566 00567 static const char* value(const table_pose::GetPose&) { return value(); } 00568 }; 00569 00570 template<class ContainerAllocator> 00571 struct MD5Sum<table_pose::GetPoseRequest_<ContainerAllocator> > { 00572 static const char* value() 00573 { 00574 return "81e9d3aaa4af67d8dbbdf94ddcea579a"; 00575 } 00576 00577 static const char* value(const table_pose::GetPoseRequest_<ContainerAllocator> &) { return value(); } 00578 }; 00579 00580 template<class ContainerAllocator> 00581 struct DataType<table_pose::GetPoseRequest_<ContainerAllocator> > { 00582 static const char* value() 00583 { 00584 return "table_pose/GetPose"; 00585 } 00586 00587 static const char* value(const table_pose::GetPoseRequest_<ContainerAllocator> &) { return value(); } 00588 }; 00589 00590 template<class ContainerAllocator> 00591 struct MD5Sum<table_pose::GetPoseResponse_<ContainerAllocator> > { 00592 static const char* value() 00593 { 00594 return "81e9d3aaa4af67d8dbbdf94ddcea579a"; 00595 } 00596 00597 static const char* value(const table_pose::GetPoseResponse_<ContainerAllocator> &) { return value(); } 00598 }; 00599 00600 template<class ContainerAllocator> 00601 struct DataType<table_pose::GetPoseResponse_<ContainerAllocator> > { 00602 static const char* value() 00603 { 00604 return "table_pose/GetPose"; 00605 } 00606 00607 static const char* value(const table_pose::GetPoseResponse_<ContainerAllocator> &) { return value(); } 00608 }; 00609 00610 } // namespace service_traits 00611 } // namespace ros 00612 00613 #endif // TABLE_POSE_SERVICE_GETPOSE_H 00614