00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-shadow_robot/doc_stacks/2014-10-06_07-33-10.674696/shadow_robot/sr_robot_msgs/srv/ChangeControlType.srv */ 00002 #ifndef SR_ROBOT_MSGS_SERVICE_CHANGECONTROLTYPE_H 00003 #define SR_ROBOT_MSGS_SERVICE_CHANGECONTROLTYPE_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 "sr_robot_msgs/ControlType.h" 00020 00021 00022 #include "sr_robot_msgs/ControlType.h" 00023 00024 namespace sr_robot_msgs 00025 { 00026 template <class ContainerAllocator> 00027 struct ChangeControlTypeRequest_ { 00028 typedef ChangeControlTypeRequest_<ContainerAllocator> Type; 00029 00030 ChangeControlTypeRequest_() 00031 : control_type() 00032 { 00033 } 00034 00035 ChangeControlTypeRequest_(const ContainerAllocator& _alloc) 00036 : control_type(_alloc) 00037 { 00038 } 00039 00040 typedef ::sr_robot_msgs::ControlType_<ContainerAllocator> _control_type_type; 00041 ::sr_robot_msgs::ControlType_<ContainerAllocator> control_type; 00042 00043 00044 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > Ptr; 00045 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> const> ConstPtr; 00046 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00047 }; // struct ChangeControlTypeRequest 00048 typedef ::sr_robot_msgs::ChangeControlTypeRequest_<std::allocator<void> > ChangeControlTypeRequest; 00049 00050 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeRequest> ChangeControlTypeRequestPtr; 00051 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeRequest const> ChangeControlTypeRequestConstPtr; 00052 00053 00054 00055 template <class ContainerAllocator> 00056 struct ChangeControlTypeResponse_ { 00057 typedef ChangeControlTypeResponse_<ContainerAllocator> Type; 00058 00059 ChangeControlTypeResponse_() 00060 : result() 00061 { 00062 } 00063 00064 ChangeControlTypeResponse_(const ContainerAllocator& _alloc) 00065 : result(_alloc) 00066 { 00067 } 00068 00069 typedef ::sr_robot_msgs::ControlType_<ContainerAllocator> _result_type; 00070 ::sr_robot_msgs::ControlType_<ContainerAllocator> result; 00071 00072 00073 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > Ptr; 00074 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> const> ConstPtr; 00075 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00076 }; // struct ChangeControlTypeResponse 00077 typedef ::sr_robot_msgs::ChangeControlTypeResponse_<std::allocator<void> > ChangeControlTypeResponse; 00078 00079 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeResponse> ChangeControlTypeResponsePtr; 00080 typedef boost::shared_ptr< ::sr_robot_msgs::ChangeControlTypeResponse const> ChangeControlTypeResponseConstPtr; 00081 00082 00083 struct ChangeControlType 00084 { 00085 00086 typedef ChangeControlTypeRequest Request; 00087 typedef ChangeControlTypeResponse Response; 00088 Request request; 00089 Response response; 00090 00091 typedef Request RequestType; 00092 typedef Response ResponseType; 00093 }; // struct ChangeControlType 00094 } // namespace sr_robot_msgs 00095 00096 namespace ros 00097 { 00098 namespace message_traits 00099 { 00100 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > : public TrueType {}; 00101 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> const> : public TrueType {}; 00102 template<class ContainerAllocator> 00103 struct MD5Sum< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > { 00104 static const char* value() 00105 { 00106 return "36741247c0d6032654e8e0ef56e7670f"; 00107 } 00108 00109 static const char* value(const ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> &) { return value(); } 00110 static const uint64_t static_value1 = 0x36741247c0d60326ULL; 00111 static const uint64_t static_value2 = 0x54e8e0ef56e7670fULL; 00112 }; 00113 00114 template<class ContainerAllocator> 00115 struct DataType< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > { 00116 static const char* value() 00117 { 00118 return "sr_robot_msgs/ChangeControlTypeRequest"; 00119 } 00120 00121 static const char* value(const ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> &) { return value(); } 00122 }; 00123 00124 template<class ContainerAllocator> 00125 struct Definition< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > { 00126 static const char* value() 00127 { 00128 return "ControlType control_type\n\ 00129 \n\ 00130 ================================================================================\n\ 00131 MSG: sr_robot_msgs/ControlType\n\ 00132 int16 control_type\n\ 00133 \n\ 00134 int16 PWM=0\n\ 00135 int16 FORCE=1\n\ 00136 \n\ 00137 #used to query which control type we're using. won't change the control type\n\ 00138 int16 QUERY=-1\n\ 00139 "; 00140 } 00141 00142 static const char* value(const ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> &) { return value(); } 00143 }; 00144 00145 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > : public TrueType {}; 00146 } // namespace message_traits 00147 } // namespace ros 00148 00149 00150 namespace ros 00151 { 00152 namespace message_traits 00153 { 00154 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > : public TrueType {}; 00155 template<class ContainerAllocator> struct IsMessage< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> const> : public TrueType {}; 00156 template<class ContainerAllocator> 00157 struct MD5Sum< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > { 00158 static const char* value() 00159 { 00160 return "2a6d00c524e195eb671dbbbb7783aee1"; 00161 } 00162 00163 static const char* value(const ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> &) { return value(); } 00164 static const uint64_t static_value1 = 0x2a6d00c524e195ebULL; 00165 static const uint64_t static_value2 = 0x671dbbbb7783aee1ULL; 00166 }; 00167 00168 template<class ContainerAllocator> 00169 struct DataType< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > { 00170 static const char* value() 00171 { 00172 return "sr_robot_msgs/ChangeControlTypeResponse"; 00173 } 00174 00175 static const char* value(const ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> &) { return value(); } 00176 }; 00177 00178 template<class ContainerAllocator> 00179 struct Definition< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > { 00180 static const char* value() 00181 { 00182 return "ControlType result\n\ 00183 \n\ 00184 ================================================================================\n\ 00185 MSG: sr_robot_msgs/ControlType\n\ 00186 int16 control_type\n\ 00187 \n\ 00188 int16 PWM=0\n\ 00189 int16 FORCE=1\n\ 00190 \n\ 00191 #used to query which control type we're using. won't change the control type\n\ 00192 int16 QUERY=-1\n\ 00193 "; 00194 } 00195 00196 static const char* value(const ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> &) { return value(); } 00197 }; 00198 00199 template<class ContainerAllocator> struct IsFixedSize< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > : public TrueType {}; 00200 } // namespace message_traits 00201 } // namespace ros 00202 00203 namespace ros 00204 { 00205 namespace serialization 00206 { 00207 00208 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > 00209 { 00210 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00211 { 00212 stream.next(m.control_type); 00213 } 00214 00215 ROS_DECLARE_ALLINONE_SERIALIZER; 00216 }; // struct ChangeControlTypeRequest_ 00217 } // namespace serialization 00218 } // namespace ros 00219 00220 00221 namespace ros 00222 { 00223 namespace serialization 00224 { 00225 00226 template<class ContainerAllocator> struct Serializer< ::sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > 00227 { 00228 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00229 { 00230 stream.next(m.result); 00231 } 00232 00233 ROS_DECLARE_ALLINONE_SERIALIZER; 00234 }; // struct ChangeControlTypeResponse_ 00235 } // namespace serialization 00236 } // namespace ros 00237 00238 namespace ros 00239 { 00240 namespace service_traits 00241 { 00242 template<> 00243 struct MD5Sum<sr_robot_msgs::ChangeControlType> { 00244 static const char* value() 00245 { 00246 return "14cedf5030b722e2c8df2dc57f9cdb58"; 00247 } 00248 00249 static const char* value(const sr_robot_msgs::ChangeControlType&) { return value(); } 00250 }; 00251 00252 template<> 00253 struct DataType<sr_robot_msgs::ChangeControlType> { 00254 static const char* value() 00255 { 00256 return "sr_robot_msgs/ChangeControlType"; 00257 } 00258 00259 static const char* value(const sr_robot_msgs::ChangeControlType&) { return value(); } 00260 }; 00261 00262 template<class ContainerAllocator> 00263 struct MD5Sum<sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > { 00264 static const char* value() 00265 { 00266 return "14cedf5030b722e2c8df2dc57f9cdb58"; 00267 } 00268 00269 static const char* value(const sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> &) { return value(); } 00270 }; 00271 00272 template<class ContainerAllocator> 00273 struct DataType<sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> > { 00274 static const char* value() 00275 { 00276 return "sr_robot_msgs/ChangeControlType"; 00277 } 00278 00279 static const char* value(const sr_robot_msgs::ChangeControlTypeRequest_<ContainerAllocator> &) { return value(); } 00280 }; 00281 00282 template<class ContainerAllocator> 00283 struct MD5Sum<sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > { 00284 static const char* value() 00285 { 00286 return "14cedf5030b722e2c8df2dc57f9cdb58"; 00287 } 00288 00289 static const char* value(const sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> &) { return value(); } 00290 }; 00291 00292 template<class ContainerAllocator> 00293 struct DataType<sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> > { 00294 static const char* value() 00295 { 00296 return "sr_robot_msgs/ChangeControlType"; 00297 } 00298 00299 static const char* value(const sr_robot_msgs::ChangeControlTypeResponse_<ContainerAllocator> &) { return value(); } 00300 }; 00301 00302 } // namespace service_traits 00303 } // namespace ros 00304 00305 #endif // SR_ROBOT_MSGS_SERVICE_CHANGECONTROLTYPE_H 00306