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