Go to the documentation of this file.00001
00002 #ifndef IROBOT_CREATE_2_1_SERVICE_TANK_H
00003 #define IROBOT_CREATE_2_1_SERVICE_TANK_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
00022 namespace irobot_create_2_1
00023 {
00024 template <class ContainerAllocator>
00025 struct TankRequest_ {
00026 typedef TankRequest_<ContainerAllocator> Type;
00027
00028 TankRequest_()
00029 : clear(false)
00030 , left(0)
00031 , right(0)
00032 {
00033 }
00034
00035 TankRequest_(const ContainerAllocator& _alloc)
00036 : clear(false)
00037 , left(0)
00038 , right(0)
00039 {
00040 }
00041
00042 typedef uint8_t _clear_type;
00043 uint8_t clear;
00044
00045 typedef int16_t _left_type;
00046 int16_t left;
00047
00048 typedef int16_t _right_type;
00049 int16_t right;
00050
00051
00052 typedef boost::shared_ptr< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > Ptr;
00053 typedef boost::shared_ptr< ::irobot_create_2_1::TankRequest_<ContainerAllocator> const> ConstPtr;
00054 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00055 };
00056 typedef ::irobot_create_2_1::TankRequest_<std::allocator<void> > TankRequest;
00057
00058 typedef boost::shared_ptr< ::irobot_create_2_1::TankRequest> TankRequestPtr;
00059 typedef boost::shared_ptr< ::irobot_create_2_1::TankRequest const> TankRequestConstPtr;
00060
00061
00062
00063 template <class ContainerAllocator>
00064 struct TankResponse_ {
00065 typedef TankResponse_<ContainerAllocator> Type;
00066
00067 TankResponse_()
00068 : success(false)
00069 {
00070 }
00071
00072 TankResponse_(const ContainerAllocator& _alloc)
00073 : success(false)
00074 {
00075 }
00076
00077 typedef uint8_t _success_type;
00078 uint8_t success;
00079
00080
00081 typedef boost::shared_ptr< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > Ptr;
00082 typedef boost::shared_ptr< ::irobot_create_2_1::TankResponse_<ContainerAllocator> const> ConstPtr;
00083 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00084 };
00085 typedef ::irobot_create_2_1::TankResponse_<std::allocator<void> > TankResponse;
00086
00087 typedef boost::shared_ptr< ::irobot_create_2_1::TankResponse> TankResponsePtr;
00088 typedef boost::shared_ptr< ::irobot_create_2_1::TankResponse const> TankResponseConstPtr;
00089
00090
00091 struct Tank
00092 {
00093
00094 typedef TankRequest Request;
00095 typedef TankResponse Response;
00096 Request request;
00097 Response response;
00098
00099 typedef Request RequestType;
00100 typedef Response ResponseType;
00101 };
00102 }
00103
00104 namespace ros
00105 {
00106 namespace message_traits
00107 {
00108 template<class ContainerAllocator> struct IsMessage< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > : public TrueType {};
00109 template<class ContainerAllocator> struct IsMessage< ::irobot_create_2_1::TankRequest_<ContainerAllocator> const> : public TrueType {};
00110 template<class ContainerAllocator>
00111 struct MD5Sum< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > {
00112 static const char* value()
00113 {
00114 return "c7893eae2d5c5450b4f137c7c7f29b99";
00115 }
00116
00117 static const char* value(const ::irobot_create_2_1::TankRequest_<ContainerAllocator> &) { return value(); }
00118 static const uint64_t static_value1 = 0xc7893eae2d5c5450ULL;
00119 static const uint64_t static_value2 = 0xb4f137c7c7f29b99ULL;
00120 };
00121
00122 template<class ContainerAllocator>
00123 struct DataType< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > {
00124 static const char* value()
00125 {
00126 return "irobot_create_2_1/TankRequest";
00127 }
00128
00129 static const char* value(const ::irobot_create_2_1::TankRequest_<ContainerAllocator> &) { return value(); }
00130 };
00131
00132 template<class ContainerAllocator>
00133 struct Definition< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > {
00134 static const char* value()
00135 {
00136 return "bool clear\n\
00137 int16 left\n\
00138 int16 right\n\
00139 \n\
00140 ";
00141 }
00142
00143 static const char* value(const ::irobot_create_2_1::TankRequest_<ContainerAllocator> &) { return value(); }
00144 };
00145
00146 template<class ContainerAllocator> struct IsFixedSize< ::irobot_create_2_1::TankRequest_<ContainerAllocator> > : public TrueType {};
00147 }
00148 }
00149
00150
00151 namespace ros
00152 {
00153 namespace message_traits
00154 {
00155 template<class ContainerAllocator> struct IsMessage< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > : public TrueType {};
00156 template<class ContainerAllocator> struct IsMessage< ::irobot_create_2_1::TankResponse_<ContainerAllocator> const> : public TrueType {};
00157 template<class ContainerAllocator>
00158 struct MD5Sum< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > {
00159 static const char* value()
00160 {
00161 return "358e233cde0c8a8bcfea4ce193f8fc15";
00162 }
00163
00164 static const char* value(const ::irobot_create_2_1::TankResponse_<ContainerAllocator> &) { return value(); }
00165 static const uint64_t static_value1 = 0x358e233cde0c8a8bULL;
00166 static const uint64_t static_value2 = 0xcfea4ce193f8fc15ULL;
00167 };
00168
00169 template<class ContainerAllocator>
00170 struct DataType< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > {
00171 static const char* value()
00172 {
00173 return "irobot_create_2_1/TankResponse";
00174 }
00175
00176 static const char* value(const ::irobot_create_2_1::TankResponse_<ContainerAllocator> &) { return value(); }
00177 };
00178
00179 template<class ContainerAllocator>
00180 struct Definition< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > {
00181 static const char* value()
00182 {
00183 return "bool success\n\
00184 \n\
00185 \n\
00186 ";
00187 }
00188
00189 static const char* value(const ::irobot_create_2_1::TankResponse_<ContainerAllocator> &) { return value(); }
00190 };
00191
00192 template<class ContainerAllocator> struct IsFixedSize< ::irobot_create_2_1::TankResponse_<ContainerAllocator> > : public TrueType {};
00193 }
00194 }
00195
00196 namespace ros
00197 {
00198 namespace serialization
00199 {
00200
00201 template<class ContainerAllocator> struct Serializer< ::irobot_create_2_1::TankRequest_<ContainerAllocator> >
00202 {
00203 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00204 {
00205 stream.next(m.clear);
00206 stream.next(m.left);
00207 stream.next(m.right);
00208 }
00209
00210 ROS_DECLARE_ALLINONE_SERIALIZER;
00211 };
00212 }
00213 }
00214
00215
00216 namespace ros
00217 {
00218 namespace serialization
00219 {
00220
00221 template<class ContainerAllocator> struct Serializer< ::irobot_create_2_1::TankResponse_<ContainerAllocator> >
00222 {
00223 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00224 {
00225 stream.next(m.success);
00226 }
00227
00228 ROS_DECLARE_ALLINONE_SERIALIZER;
00229 };
00230 }
00231 }
00232
00233 namespace ros
00234 {
00235 namespace service_traits
00236 {
00237 template<>
00238 struct MD5Sum<irobot_create_2_1::Tank> {
00239 static const char* value()
00240 {
00241 return "745f1885a9f717c8b4a13cfddf382c30";
00242 }
00243
00244 static const char* value(const irobot_create_2_1::Tank&) { return value(); }
00245 };
00246
00247 template<>
00248 struct DataType<irobot_create_2_1::Tank> {
00249 static const char* value()
00250 {
00251 return "irobot_create_2_1/Tank";
00252 }
00253
00254 static const char* value(const irobot_create_2_1::Tank&) { return value(); }
00255 };
00256
00257 template<class ContainerAllocator>
00258 struct MD5Sum<irobot_create_2_1::TankRequest_<ContainerAllocator> > {
00259 static const char* value()
00260 {
00261 return "745f1885a9f717c8b4a13cfddf382c30";
00262 }
00263
00264 static const char* value(const irobot_create_2_1::TankRequest_<ContainerAllocator> &) { return value(); }
00265 };
00266
00267 template<class ContainerAllocator>
00268 struct DataType<irobot_create_2_1::TankRequest_<ContainerAllocator> > {
00269 static const char* value()
00270 {
00271 return "irobot_create_2_1/Tank";
00272 }
00273
00274 static const char* value(const irobot_create_2_1::TankRequest_<ContainerAllocator> &) { return value(); }
00275 };
00276
00277 template<class ContainerAllocator>
00278 struct MD5Sum<irobot_create_2_1::TankResponse_<ContainerAllocator> > {
00279 static const char* value()
00280 {
00281 return "745f1885a9f717c8b4a13cfddf382c30";
00282 }
00283
00284 static const char* value(const irobot_create_2_1::TankResponse_<ContainerAllocator> &) { return value(); }
00285 };
00286
00287 template<class ContainerAllocator>
00288 struct DataType<irobot_create_2_1::TankResponse_<ContainerAllocator> > {
00289 static const char* value()
00290 {
00291 return "irobot_create_2_1/Tank";
00292 }
00293
00294 static const char* value(const irobot_create_2_1::TankResponse_<ContainerAllocator> &) { return value(); }
00295 };
00296
00297 }
00298 }
00299
00300 #endif // IROBOT_CREATE_2_1_SERVICE_TANK_H
00301