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