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