00001
00002 #ifndef SRS_OBJECT_DATABASE_MSGS_SERVICE_GETDATA_H
00003 #define SRS_OBJECT_DATABASE_MSGS_SERVICE_GETDATA_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 "srs_object_database_msgs/img.h"
00022 #include "srs_object_database_msgs/mesh.h"
00023 #include "srs_object_database_msgs/pcl.h"
00024 #include "srs_object_database_msgs/surf.h"
00025 #include "srs_object_database_msgs/grasp.h"
00026 #include "srs_object_database_msgs/urdf.h"
00027
00028 namespace srs_object_database_msgs
00029 {
00030 template <class ContainerAllocator>
00031 struct GetDataRequest_ {
00032 typedef GetDataRequest_<ContainerAllocator> Type;
00033
00034 GetDataRequest_()
00035 : model_ids()
00036 , description()
00037 , mesh(false)
00038 , pcl(false)
00039 , surf(false)
00040 , image(false)
00041 , grasp(false)
00042 , urdf(false)
00043 {
00044 }
00045
00046 GetDataRequest_(const ContainerAllocator& _alloc)
00047 : model_ids(_alloc)
00048 , description(_alloc)
00049 , mesh(false)
00050 , pcl(false)
00051 , surf(false)
00052 , image(false)
00053 , grasp(false)
00054 , urdf(false)
00055 {
00056 }
00057
00058 typedef std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > _model_ids_type;
00059 std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > model_ids;
00060
00061 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _description_type;
00062 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > description;
00063
00064 typedef uint8_t _mesh_type;
00065 uint8_t mesh;
00066
00067 typedef uint8_t _pcl_type;
00068 uint8_t pcl;
00069
00070 typedef uint8_t _surf_type;
00071 uint8_t surf;
00072
00073 typedef uint8_t _image_type;
00074 uint8_t image;
00075
00076 typedef uint8_t _grasp_type;
00077 uint8_t grasp;
00078
00079 typedef uint8_t _urdf_type;
00080 uint8_t urdf;
00081
00082
00083 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > Ptr;
00084 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> const> ConstPtr;
00085 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00086 };
00087 typedef ::srs_object_database_msgs::GetDataRequest_<std::allocator<void> > GetDataRequest;
00088
00089 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataRequest> GetDataRequestPtr;
00090 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataRequest const> GetDataRequestConstPtr;
00091
00092
00093
00094 template <class ContainerAllocator>
00095 struct GetDataResponse_ {
00096 typedef GetDataResponse_<ContainerAllocator> Type;
00097
00098 GetDataResponse_()
00099 : return_response()
00100 , img()
00101 , mesh()
00102 , pcl()
00103 , surf()
00104 , grasp()
00105 , urdf()
00106 {
00107 }
00108
00109 GetDataResponse_(const ContainerAllocator& _alloc)
00110 : return_response(_alloc)
00111 , img(_alloc)
00112 , mesh(_alloc)
00113 , pcl(_alloc)
00114 , surf(_alloc)
00115 , grasp(_alloc)
00116 , urdf(_alloc)
00117 {
00118 }
00119
00120 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _return_response_type;
00121 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > return_response;
00122
00123 typedef std::vector< ::srs_object_database_msgs::img_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::img_<ContainerAllocator> >::other > _img_type;
00124 std::vector< ::srs_object_database_msgs::img_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::img_<ContainerAllocator> >::other > img;
00125
00126 typedef std::vector< ::srs_object_database_msgs::mesh_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::mesh_<ContainerAllocator> >::other > _mesh_type;
00127 std::vector< ::srs_object_database_msgs::mesh_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::mesh_<ContainerAllocator> >::other > mesh;
00128
00129 typedef std::vector< ::srs_object_database_msgs::pcl_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::pcl_<ContainerAllocator> >::other > _pcl_type;
00130 std::vector< ::srs_object_database_msgs::pcl_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::pcl_<ContainerAllocator> >::other > pcl;
00131
00132 typedef std::vector< ::srs_object_database_msgs::surf_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::surf_<ContainerAllocator> >::other > _surf_type;
00133 std::vector< ::srs_object_database_msgs::surf_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::surf_<ContainerAllocator> >::other > surf;
00134
00135 typedef std::vector< ::srs_object_database_msgs::grasp_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::grasp_<ContainerAllocator> >::other > _grasp_type;
00136 std::vector< ::srs_object_database_msgs::grasp_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::grasp_<ContainerAllocator> >::other > grasp;
00137
00138 typedef std::vector< ::srs_object_database_msgs::urdf_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::urdf_<ContainerAllocator> >::other > _urdf_type;
00139 std::vector< ::srs_object_database_msgs::urdf_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::srs_object_database_msgs::urdf_<ContainerAllocator> >::other > urdf;
00140
00141
00142 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > Ptr;
00143 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> const> ConstPtr;
00144 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00145 };
00146 typedef ::srs_object_database_msgs::GetDataResponse_<std::allocator<void> > GetDataResponse;
00147
00148 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataResponse> GetDataResponsePtr;
00149 typedef boost::shared_ptr< ::srs_object_database_msgs::GetDataResponse const> GetDataResponseConstPtr;
00150
00151
00152 struct GetData
00153 {
00154
00155 typedef GetDataRequest Request;
00156 typedef GetDataResponse Response;
00157 Request request;
00158 Response response;
00159
00160 typedef Request RequestType;
00161 typedef Response ResponseType;
00162 };
00163 }
00164
00165 namespace ros
00166 {
00167 namespace message_traits
00168 {
00169 template<class ContainerAllocator> struct IsMessage< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > : public TrueType {};
00170 template<class ContainerAllocator> struct IsMessage< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> const> : public TrueType {};
00171 template<class ContainerAllocator>
00172 struct MD5Sum< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > {
00173 static const char* value()
00174 {
00175 return "e322fea33bcf470d266fe9ce0878bcf2";
00176 }
00177
00178 static const char* value(const ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> &) { return value(); }
00179 static const uint64_t static_value1 = 0xe322fea33bcf470dULL;
00180 static const uint64_t static_value2 = 0x266fe9ce0878bcf2ULL;
00181 };
00182
00183 template<class ContainerAllocator>
00184 struct DataType< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > {
00185 static const char* value()
00186 {
00187 return "srs_object_database_msgs/GetDataRequest";
00188 }
00189
00190 static const char* value(const ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> &) { return value(); }
00191 };
00192
00193 template<class ContainerAllocator>
00194 struct Definition< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > {
00195 static const char* value()
00196 {
00197 return "\n\
00198 \n\
00199 \n\
00200 \n\
00201 \n\
00202 \n\
00203 int32[] model_ids\n\
00204 string description\n\
00205 \n\
00206 \n\
00207 \n\
00208 bool mesh\n\
00209 bool pcl\n\
00210 bool surf\n\
00211 bool image\n\
00212 bool grasp\n\
00213 bool urdf\n\
00214 \n\
00215 \n\
00216 \n\
00217 ";
00218 }
00219
00220 static const char* value(const ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> &) { return value(); }
00221 };
00222
00223 }
00224 }
00225
00226
00227 namespace ros
00228 {
00229 namespace message_traits
00230 {
00231 template<class ContainerAllocator> struct IsMessage< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > : public TrueType {};
00232 template<class ContainerAllocator> struct IsMessage< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> const> : public TrueType {};
00233 template<class ContainerAllocator>
00234 struct MD5Sum< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > {
00235 static const char* value()
00236 {
00237 return "8c029ab6bbdfbdc8ed9c7e395d73a54f";
00238 }
00239
00240 static const char* value(const ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> &) { return value(); }
00241 static const uint64_t static_value1 = 0x8c029ab6bbdfbdc8ULL;
00242 static const uint64_t static_value2 = 0xed9c7e395d73a54fULL;
00243 };
00244
00245 template<class ContainerAllocator>
00246 struct DataType< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > {
00247 static const char* value()
00248 {
00249 return "srs_object_database_msgs/GetDataResponse";
00250 }
00251
00252 static const char* value(const ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> &) { return value(); }
00253 };
00254
00255 template<class ContainerAllocator>
00256 struct Definition< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > {
00257 static const char* value()
00258 {
00259 return "\n\
00260 \n\
00261 string return_response\n\
00262 \n\
00263 srs_object_database_msgs/img[] img\n\
00264 srs_object_database_msgs/mesh[] mesh\n\
00265 srs_object_database_msgs/pcl[] pcl\n\
00266 srs_object_database_msgs/surf[] surf\n\
00267 srs_object_database_msgs/grasp[] grasp\n\
00268 srs_object_database_msgs/urdf[] urdf\n\
00269 \n\
00270 \n\
00271 ================================================================================\n\
00272 MSG: srs_object_database_msgs/img\n\
00273 int32 objectId\n\
00274 string description\n\
00275 sensor_msgs/Image image\n\
00276 ================================================================================\n\
00277 MSG: sensor_msgs/Image\n\
00278 # This message contains an uncompressed image\n\
00279 # (0, 0) is at top-left corner of image\n\
00280 #\n\
00281 \n\
00282 Header header # Header timestamp should be acquisition time of image\n\
00283 # Header frame_id should be optical frame of camera\n\
00284 # origin of frame should be optical center of cameara\n\
00285 # +x should point to the right in the image\n\
00286 # +y should point down in the image\n\
00287 # +z should point into to plane of the image\n\
00288 # If the frame_id here and the frame_id of the CameraInfo\n\
00289 # message associated with the image conflict\n\
00290 # the behavior is undefined\n\
00291 \n\
00292 uint32 height # image height, that is, number of rows\n\
00293 uint32 width # image width, that is, number of columns\n\
00294 \n\
00295 # The legal values for encoding are in file src/image_encodings.cpp\n\
00296 # If you want to standardize a new string format, join\n\
00297 # ros-users@lists.sourceforge.net and send an email proposing a new encoding.\n\
00298 \n\
00299 string encoding # Encoding of pixels -- channel meaning, ordering, size\n\
00300 # taken from the list of strings in include/sensor_msgs/image_encodings.h\n\
00301 \n\
00302 uint8 is_bigendian # is this data bigendian?\n\
00303 uint32 step # Full row length in bytes\n\
00304 uint8[] data # actual matrix data, size is (step * rows)\n\
00305 \n\
00306 ================================================================================\n\
00307 MSG: std_msgs/Header\n\
00308 # Standard metadata for higher-level stamped data types.\n\
00309 # This is generally used to communicate timestamped data \n\
00310 # in a particular coordinate frame.\n\
00311 # \n\
00312 # sequence ID: consecutively increasing ID \n\
00313 uint32 seq\n\
00314 #Two-integer timestamp that is expressed as:\n\
00315 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00316 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00317 # time-handling sugar is provided by the client library\n\
00318 time stamp\n\
00319 #Frame this data is associated with\n\
00320 # 0: no frame\n\
00321 # 1: global frame\n\
00322 string frame_id\n\
00323 \n\
00324 ================================================================================\n\
00325 MSG: srs_object_database_msgs/mesh\n\
00326 int32 objectId\n\
00327 arm_navigation_msgs/Shape mesh\n\
00328 string type\n\
00329 uint8[] data\n\
00330 ================================================================================\n\
00331 MSG: arm_navigation_msgs/Shape\n\
00332 byte SPHERE=0\n\
00333 byte BOX=1\n\
00334 byte CYLINDER=2\n\
00335 byte MESH=3\n\
00336 \n\
00337 byte type\n\
00338 \n\
00339 \n\
00340 #### define sphere, box, cylinder ####\n\
00341 # the origin of each shape is considered at the shape's center\n\
00342 \n\
00343 # for sphere\n\
00344 # radius := dimensions[0]\n\
00345 \n\
00346 # for cylinder\n\
00347 # radius := dimensions[0]\n\
00348 # length := dimensions[1]\n\
00349 # the length is along the Z axis\n\
00350 \n\
00351 # for box\n\
00352 # size_x := dimensions[0]\n\
00353 # size_y := dimensions[1]\n\
00354 # size_z := dimensions[2]\n\
00355 float64[] dimensions\n\
00356 \n\
00357 \n\
00358 #### define mesh ####\n\
00359 \n\
00360 # list of triangles; triangle k is defined by tre vertices located\n\
00361 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00362 int32[] triangles\n\
00363 geometry_msgs/Point[] vertices\n\
00364 \n\
00365 ================================================================================\n\
00366 MSG: geometry_msgs/Point\n\
00367 # This contains the position of a point in free space\n\
00368 float64 x\n\
00369 float64 y\n\
00370 float64 z\n\
00371 \n\
00372 ================================================================================\n\
00373 MSG: srs_object_database_msgs/pcl\n\
00374 int32 objectId\n\
00375 sensor_msgs/PointCloud2 pcl\n\
00376 \n\
00377 ================================================================================\n\
00378 MSG: sensor_msgs/PointCloud2\n\
00379 # This message holds a collection of N-dimensional points, which may\n\
00380 # contain additional information such as normals, intensity, etc. The\n\
00381 # point data is stored as a binary blob, its layout described by the\n\
00382 # contents of the \"fields\" array.\n\
00383 \n\
00384 # The point cloud data may be organized 2d (image-like) or 1d\n\
00385 # (unordered). Point clouds organized as 2d images may be produced by\n\
00386 # camera depth sensors such as stereo or time-of-flight.\n\
00387 \n\
00388 # Time of sensor data acquisition, and the coordinate frame ID (for 3d\n\
00389 # points).\n\
00390 Header header\n\
00391 \n\
00392 # 2D structure of the point cloud. If the cloud is unordered, height is\n\
00393 # 1 and width is the length of the point cloud.\n\
00394 uint32 height\n\
00395 uint32 width\n\
00396 \n\
00397 # Describes the channels and their layout in the binary data blob.\n\
00398 PointField[] fields\n\
00399 \n\
00400 bool is_bigendian # Is this data bigendian?\n\
00401 uint32 point_step # Length of a point in bytes\n\
00402 uint32 row_step # Length of a row in bytes\n\
00403 uint8[] data # Actual point data, size is (row_step*height)\n\
00404 \n\
00405 bool is_dense # True if there are no invalid points\n\
00406 \n\
00407 ================================================================================\n\
00408 MSG: sensor_msgs/PointField\n\
00409 # This message holds the description of one point entry in the\n\
00410 # PointCloud2 message format.\n\
00411 uint8 INT8 = 1\n\
00412 uint8 UINT8 = 2\n\
00413 uint8 INT16 = 3\n\
00414 uint8 UINT16 = 4\n\
00415 uint8 INT32 = 5\n\
00416 uint8 UINT32 = 6\n\
00417 uint8 FLOAT32 = 7\n\
00418 uint8 FLOAT64 = 8\n\
00419 \n\
00420 string name # Name of field\n\
00421 uint32 offset # Offset from start of point struct\n\
00422 uint8 datatype # Datatype enumeration, see above\n\
00423 uint32 count # How many elements in the field\n\
00424 \n\
00425 ================================================================================\n\
00426 MSG: srs_object_database_msgs/surf\n\
00427 int32 objectId\n\
00428 sensor_msgs/PointCloud2 surf\n\
00429 sensor_msgs/PointCloud2 bounding_box\n\
00430 geometry_msgs/Pose coord_frame\n\
00431 \n\
00432 ================================================================================\n\
00433 MSG: geometry_msgs/Pose\n\
00434 # A representation of pose in free space, composed of postion and orientation. \n\
00435 Point position\n\
00436 Quaternion orientation\n\
00437 \n\
00438 ================================================================================\n\
00439 MSG: geometry_msgs/Quaternion\n\
00440 # This represents an orientation in free space in quaternion form.\n\
00441 \n\
00442 float64 x\n\
00443 float64 y\n\
00444 float64 z\n\
00445 float64 w\n\
00446 \n\
00447 ================================================================================\n\
00448 MSG: srs_object_database_msgs/grasp\n\
00449 int32 objectId\n\
00450 string Objecttype\n\
00451 string pose\n\
00452 string fileDescription\n\
00453 uint8[] bs\n\
00454 int32 size\n\
00455 \n\
00456 ================================================================================\n\
00457 MSG: srs_object_database_msgs/urdf\n\
00458 int32 objectId\n\
00459 visualization_msgs/Marker[] markers\n\
00460 ================================================================================\n\
00461 MSG: visualization_msgs/Marker\n\
00462 # See http://www.ros.org/wiki/rviz/DisplayTypes/Marker and http://www.ros.org/wiki/rviz/Tutorials/Markers%3A%20Basic%20Shapes for more information on using this message with rviz\n\
00463 \n\
00464 uint8 ARROW=0\n\
00465 uint8 CUBE=1\n\
00466 uint8 SPHERE=2\n\
00467 uint8 CYLINDER=3\n\
00468 uint8 LINE_STRIP=4\n\
00469 uint8 LINE_LIST=5\n\
00470 uint8 CUBE_LIST=6\n\
00471 uint8 SPHERE_LIST=7\n\
00472 uint8 POINTS=8\n\
00473 uint8 TEXT_VIEW_FACING=9\n\
00474 uint8 MESH_RESOURCE=10\n\
00475 uint8 TRIANGLE_LIST=11\n\
00476 \n\
00477 uint8 ADD=0\n\
00478 uint8 MODIFY=0\n\
00479 uint8 DELETE=2\n\
00480 \n\
00481 Header header # header for time/frame information\n\
00482 string ns # Namespace to place this object in... used in conjunction with id to create a unique name for the object\n\
00483 int32 id # object ID useful in conjunction with the namespace for manipulating and deleting the object later\n\
00484 int32 type # Type of object\n\
00485 int32 action # 0 add/modify an object, 1 (deprecated), 2 deletes an object\n\
00486 geometry_msgs/Pose pose # Pose of the object\n\
00487 geometry_msgs/Vector3 scale # Scale of the object 1,1,1 means default (usually 1 meter square)\n\
00488 std_msgs/ColorRGBA color # Color [0.0-1.0]\n\
00489 duration lifetime # How long the object should last before being automatically deleted. 0 means forever\n\
00490 bool frame_locked # If this marker should be frame-locked, i.e. retransformed into its frame every timestep\n\
00491 \n\
00492 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\
00493 geometry_msgs/Point[] points\n\
00494 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\
00495 #number of colors must either be 0 or equal to the number of points\n\
00496 #NOTE: alpha is not yet used\n\
00497 std_msgs/ColorRGBA[] colors\n\
00498 \n\
00499 # NOTE: only used for text markers\n\
00500 string text\n\
00501 \n\
00502 # NOTE: only used for MESH_RESOURCE markers\n\
00503 string mesh_resource\n\
00504 bool mesh_use_embedded_materials\n\
00505 \n\
00506 ================================================================================\n\
00507 MSG: geometry_msgs/Vector3\n\
00508 # This represents a vector in free space. \n\
00509 \n\
00510 float64 x\n\
00511 float64 y\n\
00512 float64 z\n\
00513 ================================================================================\n\
00514 MSG: std_msgs/ColorRGBA\n\
00515 float32 r\n\
00516 float32 g\n\
00517 float32 b\n\
00518 float32 a\n\
00519 \n\
00520 ";
00521 }
00522
00523 static const char* value(const ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> &) { return value(); }
00524 };
00525
00526 }
00527 }
00528
00529 namespace ros
00530 {
00531 namespace serialization
00532 {
00533
00534 template<class ContainerAllocator> struct Serializer< ::srs_object_database_msgs::GetDataRequest_<ContainerAllocator> >
00535 {
00536 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00537 {
00538 stream.next(m.model_ids);
00539 stream.next(m.description);
00540 stream.next(m.mesh);
00541 stream.next(m.pcl);
00542 stream.next(m.surf);
00543 stream.next(m.image);
00544 stream.next(m.grasp);
00545 stream.next(m.urdf);
00546 }
00547
00548 ROS_DECLARE_ALLINONE_SERIALIZER;
00549 };
00550 }
00551 }
00552
00553
00554 namespace ros
00555 {
00556 namespace serialization
00557 {
00558
00559 template<class ContainerAllocator> struct Serializer< ::srs_object_database_msgs::GetDataResponse_<ContainerAllocator> >
00560 {
00561 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00562 {
00563 stream.next(m.return_response);
00564 stream.next(m.img);
00565 stream.next(m.mesh);
00566 stream.next(m.pcl);
00567 stream.next(m.surf);
00568 stream.next(m.grasp);
00569 stream.next(m.urdf);
00570 }
00571
00572 ROS_DECLARE_ALLINONE_SERIALIZER;
00573 };
00574 }
00575 }
00576
00577 namespace ros
00578 {
00579 namespace service_traits
00580 {
00581 template<>
00582 struct MD5Sum<srs_object_database_msgs::GetData> {
00583 static const char* value()
00584 {
00585 return "0fb0cdcd6e164bc63c7643c4232719fe";
00586 }
00587
00588 static const char* value(const srs_object_database_msgs::GetData&) { return value(); }
00589 };
00590
00591 template<>
00592 struct DataType<srs_object_database_msgs::GetData> {
00593 static const char* value()
00594 {
00595 return "srs_object_database_msgs/GetData";
00596 }
00597
00598 static const char* value(const srs_object_database_msgs::GetData&) { return value(); }
00599 };
00600
00601 template<class ContainerAllocator>
00602 struct MD5Sum<srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > {
00603 static const char* value()
00604 {
00605 return "0fb0cdcd6e164bc63c7643c4232719fe";
00606 }
00607
00608 static const char* value(const srs_object_database_msgs::GetDataRequest_<ContainerAllocator> &) { return value(); }
00609 };
00610
00611 template<class ContainerAllocator>
00612 struct DataType<srs_object_database_msgs::GetDataRequest_<ContainerAllocator> > {
00613 static const char* value()
00614 {
00615 return "srs_object_database_msgs/GetData";
00616 }
00617
00618 static const char* value(const srs_object_database_msgs::GetDataRequest_<ContainerAllocator> &) { return value(); }
00619 };
00620
00621 template<class ContainerAllocator>
00622 struct MD5Sum<srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > {
00623 static const char* value()
00624 {
00625 return "0fb0cdcd6e164bc63c7643c4232719fe";
00626 }
00627
00628 static const char* value(const srs_object_database_msgs::GetDataResponse_<ContainerAllocator> &) { return value(); }
00629 };
00630
00631 template<class ContainerAllocator>
00632 struct DataType<srs_object_database_msgs::GetDataResponse_<ContainerAllocator> > {
00633 static const char* value()
00634 {
00635 return "srs_object_database_msgs/GetData";
00636 }
00637
00638 static const char* value(const srs_object_database_msgs::GetDataResponse_<ContainerAllocator> &) { return value(); }
00639 };
00640
00641 }
00642 }
00643
00644 #endif // SRS_OBJECT_DATABASE_MSGS_SERVICE_GETDATA_H
00645