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