Go to the documentation of this file.00001
00002 #ifndef GEOGRAPHIC_MSGS_SERVICE_UPDATEGEOGRAPHICMAP_H
00003 #define GEOGRAPHIC_MSGS_SERVICE_UPDATEGEOGRAPHICMAP_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 "geographic_msgs/GeographicMapChanges.h"
00020
00021
00022
00023 namespace geographic_msgs
00024 {
00025 template <class ContainerAllocator>
00026 struct UpdateGeographicMapRequest_ {
00027 typedef UpdateGeographicMapRequest_<ContainerAllocator> Type;
00028
00029 UpdateGeographicMapRequest_()
00030 : updates()
00031 {
00032 }
00033
00034 UpdateGeographicMapRequest_(const ContainerAllocator& _alloc)
00035 : updates(_alloc)
00036 {
00037 }
00038
00039 typedef ::geographic_msgs::GeographicMapChanges_<ContainerAllocator> _updates_type;
00040 ::geographic_msgs::GeographicMapChanges_<ContainerAllocator> updates;
00041
00042
00043 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > Ptr;
00044 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> const> ConstPtr;
00045 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00046 };
00047 typedef ::geographic_msgs::UpdateGeographicMapRequest_<std::allocator<void> > UpdateGeographicMapRequest;
00048
00049 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapRequest> UpdateGeographicMapRequestPtr;
00050 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapRequest const> UpdateGeographicMapRequestConstPtr;
00051
00052
00053 template <class ContainerAllocator>
00054 struct UpdateGeographicMapResponse_ {
00055 typedef UpdateGeographicMapResponse_<ContainerAllocator> Type;
00056
00057 UpdateGeographicMapResponse_()
00058 : success(false)
00059 , status()
00060 {
00061 }
00062
00063 UpdateGeographicMapResponse_(const ContainerAllocator& _alloc)
00064 : success(false)
00065 , status(_alloc)
00066 {
00067 }
00068
00069 typedef uint8_t _success_type;
00070 uint8_t success;
00071
00072 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _status_type;
00073 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > status;
00074
00075
00076 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > Ptr;
00077 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> const> ConstPtr;
00078 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00079 };
00080 typedef ::geographic_msgs::UpdateGeographicMapResponse_<std::allocator<void> > UpdateGeographicMapResponse;
00081
00082 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapResponse> UpdateGeographicMapResponsePtr;
00083 typedef boost::shared_ptr< ::geographic_msgs::UpdateGeographicMapResponse const> UpdateGeographicMapResponseConstPtr;
00084
00085 struct UpdateGeographicMap
00086 {
00087
00088 typedef UpdateGeographicMapRequest Request;
00089 typedef UpdateGeographicMapResponse 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< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > : public TrueType {};
00103 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> const> : public TrueType {};
00104 template<class ContainerAllocator>
00105 struct MD5Sum< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > {
00106 static const char* value()
00107 {
00108 return "8d8da723a1fadc5f7621a18b4e72fc3b";
00109 }
00110
00111 static const char* value(const ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00112 static const uint64_t static_value1 = 0x8d8da723a1fadc5fULL;
00113 static const uint64_t static_value2 = 0x7621a18b4e72fc3bULL;
00114 };
00115
00116 template<class ContainerAllocator>
00117 struct DataType< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > {
00118 static const char* value()
00119 {
00120 return "geographic_msgs/UpdateGeographicMapRequest";
00121 }
00122
00123 static const char* value(const ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00124 };
00125
00126 template<class ContainerAllocator>
00127 struct Definition< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > {
00128 static const char* value()
00129 {
00130 return "\n\
00131 \n\
00132 \n\
00133 GeographicMapChanges updates\n\
00134 \n\
00135 \n\
00136 ================================================================================\n\
00137 MSG: geographic_msgs/GeographicMapChanges\n\
00138 # A list of geographic map changes.\n\
00139 \n\
00140 Header header # stamp specifies time of change\n\
00141 # frame_id (normally /map)\n\
00142 \n\
00143 GeographicMap diffs # new and changed points and features\n\
00144 uuid_msgs/UniqueID[] deletes # deleted map components\n\
00145 \n\
00146 ================================================================================\n\
00147 MSG: std_msgs/Header\n\
00148 # Standard metadata for higher-level stamped data types.\n\
00149 # This is generally used to communicate timestamped data \n\
00150 # in a particular coordinate frame.\n\
00151 # \n\
00152 # sequence ID: consecutively increasing ID \n\
00153 uint32 seq\n\
00154 #Two-integer timestamp that is expressed as:\n\
00155 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00156 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00157 # time-handling sugar is provided by the client library\n\
00158 time stamp\n\
00159 #Frame this data is associated with\n\
00160 # 0: no frame\n\
00161 # 1: global frame\n\
00162 string frame_id\n\
00163 \n\
00164 ================================================================================\n\
00165 MSG: geographic_msgs/GeographicMap\n\
00166 # Geographic map for a specified region.\n\
00167 \n\
00168 Header header # stamp specifies time\n\
00169 # frame_id (normally /map)\n\
00170 \n\
00171 uuid_msgs/UniqueID id # identifier for this map\n\
00172 BoundingBox bounds # 2D bounding box containing map\n\
00173 \n\
00174 WayPoint[] points # way-points\n\
00175 MapFeature[] features # map features\n\
00176 KeyValue[] props # map properties\n\
00177 \n\
00178 ================================================================================\n\
00179 MSG: uuid_msgs/UniqueID\n\
00180 # A universally unique identifier (UUID).\n\
00181 #\n\
00182 # http://en.wikipedia.org/wiki/Universally_unique_identifier\n\
00183 # http://tools.ietf.org/html/rfc4122.html\n\
00184 \n\
00185 uint8[16] uuid\n\
00186 \n\
00187 ================================================================================\n\
00188 MSG: geographic_msgs/BoundingBox\n\
00189 # Geographic map bounding box. \n\
00190 #\n\
00191 # The two GeoPoints denote diagonally opposite corners of the box.\n\
00192 #\n\
00193 # If min_pt.latitude is NaN, the bounding box is \"global\", matching\n\
00194 # any valid latitude, longitude and altitude.\n\
00195 #\n\
00196 # If min_pt.altitude is NaN, the bounding box is two-dimensional and\n\
00197 # matches any altitude within the specified latitude and longitude\n\
00198 # range.\n\
00199 \n\
00200 GeoPoint min_pt # lowest and most Southwestern corner\n\
00201 GeoPoint max_pt # highest and most Northeastern corner\n\
00202 \n\
00203 ================================================================================\n\
00204 MSG: geographic_msgs/GeoPoint\n\
00205 # Geographic point, using the WGS 84 reference ellipsoid.\n\
00206 \n\
00207 # Latitude [degrees]. Positive is north of equator; negative is south\n\
00208 # (-90 <= latitude <= +90).\n\
00209 float64 latitude\n\
00210 \n\
00211 # Longitude [degrees]. Positive is east of prime meridian; negative is\n\
00212 # west (-180 <= longitude <= +180). At the poles, latitude is -90 or\n\
00213 # +90, and longitude is irrelevant, but must be in range.\n\
00214 float64 longitude\n\
00215 \n\
00216 # Altitude [m]. Positive is above the WGS 84 ellipsoid (NaN if unspecified).\n\
00217 float64 altitude\n\
00218 \n\
00219 ================================================================================\n\
00220 MSG: geographic_msgs/WayPoint\n\
00221 # Way-point element for a geographic map.\n\
00222 \n\
00223 uuid_msgs/UniqueID id # Unique way-point identifier\n\
00224 GeoPoint position # Position relative to WGS 84 ellipsoid\n\
00225 KeyValue[] props # Key/value properties for this point\n\
00226 \n\
00227 ================================================================================\n\
00228 MSG: geographic_msgs/KeyValue\n\
00229 # Geographic map tag (key, value) pair\n\
00230 #\n\
00231 # This is equivalent to diagnostic_msgs/KeyValue, repeated here to\n\
00232 # avoid introducing a trivial stack dependency.\n\
00233 \n\
00234 string key # tag label\n\
00235 string value # corresponding value\n\
00236 \n\
00237 ================================================================================\n\
00238 MSG: geographic_msgs/MapFeature\n\
00239 # Geographic map feature.\n\
00240 #\n\
00241 # A list of WayPoint IDs for features like streets, highways, hiking\n\
00242 # trails, the outlines of buildings and parking lots in sequential\n\
00243 # order.\n\
00244 #\n\
00245 # Feature lists may also contain other feature lists as members.\n\
00246 \n\
00247 uuid_msgs/UniqueID id # Unique feature identifier\n\
00248 uuid_msgs/UniqueID[] components # Sequence of feature components\n\
00249 KeyValue[] props # Key/value properties for this feature\n\
00250 \n\
00251 ";
00252 }
00253
00254 static const char* value(const ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00255 };
00256
00257 }
00258 }
00259
00260
00261 namespace ros
00262 {
00263 namespace message_traits
00264 {
00265 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > : public TrueType {};
00266 template<class ContainerAllocator> struct IsMessage< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> const> : public TrueType {};
00267 template<class ContainerAllocator>
00268 struct MD5Sum< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > {
00269 static const char* value()
00270 {
00271 return "38b8954d32a849f31d78416b12bff5d1";
00272 }
00273
00274 static const char* value(const ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00275 static const uint64_t static_value1 = 0x38b8954d32a849f3ULL;
00276 static const uint64_t static_value2 = 0x1d78416b12bff5d1ULL;
00277 };
00278
00279 template<class ContainerAllocator>
00280 struct DataType< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > {
00281 static const char* value()
00282 {
00283 return "geographic_msgs/UpdateGeographicMapResponse";
00284 }
00285
00286 static const char* value(const ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00287 };
00288
00289 template<class ContainerAllocator>
00290 struct Definition< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > {
00291 static const char* value()
00292 {
00293 return "\n\
00294 bool success\n\
00295 string status\n\
00296 \n\
00297 \n\
00298 ";
00299 }
00300
00301 static const char* value(const ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00302 };
00303
00304 }
00305 }
00306
00307 namespace ros
00308 {
00309 namespace serialization
00310 {
00311
00312 template<class ContainerAllocator> struct Serializer< ::geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> >
00313 {
00314 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00315 {
00316 stream.next(m.updates);
00317 }
00318
00319 ROS_DECLARE_ALLINONE_SERIALIZER;
00320 };
00321 }
00322 }
00323
00324
00325 namespace ros
00326 {
00327 namespace serialization
00328 {
00329
00330 template<class ContainerAllocator> struct Serializer< ::geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> >
00331 {
00332 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00333 {
00334 stream.next(m.success);
00335 stream.next(m.status);
00336 }
00337
00338 ROS_DECLARE_ALLINONE_SERIALIZER;
00339 };
00340 }
00341 }
00342
00343 namespace ros
00344 {
00345 namespace service_traits
00346 {
00347 template<>
00348 struct MD5Sum<geographic_msgs::UpdateGeographicMap> {
00349 static const char* value()
00350 {
00351 return "93db3f1ec099e9f1b7e442d7d397e244";
00352 }
00353
00354 static const char* value(const geographic_msgs::UpdateGeographicMap&) { return value(); }
00355 };
00356
00357 template<>
00358 struct DataType<geographic_msgs::UpdateGeographicMap> {
00359 static const char* value()
00360 {
00361 return "geographic_msgs/UpdateGeographicMap";
00362 }
00363
00364 static const char* value(const geographic_msgs::UpdateGeographicMap&) { return value(); }
00365 };
00366
00367 template<class ContainerAllocator>
00368 struct MD5Sum<geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > {
00369 static const char* value()
00370 {
00371 return "93db3f1ec099e9f1b7e442d7d397e244";
00372 }
00373
00374 static const char* value(const geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00375 };
00376
00377 template<class ContainerAllocator>
00378 struct DataType<geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> > {
00379 static const char* value()
00380 {
00381 return "geographic_msgs/UpdateGeographicMap";
00382 }
00383
00384 static const char* value(const geographic_msgs::UpdateGeographicMapRequest_<ContainerAllocator> &) { return value(); }
00385 };
00386
00387 template<class ContainerAllocator>
00388 struct MD5Sum<geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > {
00389 static const char* value()
00390 {
00391 return "93db3f1ec099e9f1b7e442d7d397e244";
00392 }
00393
00394 static const char* value(const geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00395 };
00396
00397 template<class ContainerAllocator>
00398 struct DataType<geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> > {
00399 static const char* value()
00400 {
00401 return "geographic_msgs/UpdateGeographicMap";
00402 }
00403
00404 static const char* value(const geographic_msgs::UpdateGeographicMapResponse_<ContainerAllocator> &) { return value(); }
00405 };
00406
00407 }
00408 }
00409
00410 #endif // GEOGRAPHIC_MSGS_SERVICE_UPDATEGEOGRAPHICMAP_H
00411