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