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