Go to the documentation of this file.00001
00002 #ifndef GATEWAY_COMMS_SERVICE_ADVERTISE_H
00003 #define GATEWAY_COMMS_SERVICE_ADVERTISE_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 "gateway_comms/Rule.h"
00020
00021
00022 #include "gateway_comms/Rule.h"
00023
00024 namespace gateway_comms
00025 {
00026 template <class ContainerAllocator>
00027 struct AdvertiseRequest_ {
00028 typedef AdvertiseRequest_<ContainerAllocator> Type;
00029
00030 AdvertiseRequest_()
00031 : cancel(false)
00032 , rules()
00033 {
00034 }
00035
00036 AdvertiseRequest_(const ContainerAllocator& _alloc)
00037 : cancel(false)
00038 , rules(_alloc)
00039 {
00040 }
00041
00042 typedef uint8_t _cancel_type;
00043 uint8_t cancel;
00044
00045 typedef std::vector< ::gateway_comms::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_comms::Rule_<ContainerAllocator> >::other > _rules_type;
00046 std::vector< ::gateway_comms::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_comms::Rule_<ContainerAllocator> >::other > rules;
00047
00048
00049 typedef boost::shared_ptr< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> > Ptr;
00050 typedef boost::shared_ptr< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> const> ConstPtr;
00051 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00052 };
00053 typedef ::gateway_comms::AdvertiseRequest_<std::allocator<void> > AdvertiseRequest;
00054
00055 typedef boost::shared_ptr< ::gateway_comms::AdvertiseRequest> AdvertiseRequestPtr;
00056 typedef boost::shared_ptr< ::gateway_comms::AdvertiseRequest const> AdvertiseRequestConstPtr;
00057
00058
00059 template <class ContainerAllocator>
00060 struct AdvertiseResponse_ {
00061 typedef AdvertiseResponse_<ContainerAllocator> Type;
00062
00063 AdvertiseResponse_()
00064 : result(0)
00065 , error_message()
00066 , watchlist()
00067 {
00068 }
00069
00070 AdvertiseResponse_(const ContainerAllocator& _alloc)
00071 : result(0)
00072 , error_message(_alloc)
00073 , watchlist(_alloc)
00074 {
00075 }
00076
00077 typedef int8_t _result_type;
00078 int8_t result;
00079
00080 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _error_message_type;
00081 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > error_message;
00082
00083 typedef std::vector< ::gateway_comms::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_comms::Rule_<ContainerAllocator> >::other > _watchlist_type;
00084 std::vector< ::gateway_comms::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_comms::Rule_<ContainerAllocator> >::other > watchlist;
00085
00086
00087 typedef boost::shared_ptr< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> > Ptr;
00088 typedef boost::shared_ptr< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> const> ConstPtr;
00089 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00090 };
00091 typedef ::gateway_comms::AdvertiseResponse_<std::allocator<void> > AdvertiseResponse;
00092
00093 typedef boost::shared_ptr< ::gateway_comms::AdvertiseResponse> AdvertiseResponsePtr;
00094 typedef boost::shared_ptr< ::gateway_comms::AdvertiseResponse const> AdvertiseResponseConstPtr;
00095
00096 struct Advertise
00097 {
00098
00099 typedef AdvertiseRequest Request;
00100 typedef AdvertiseResponse Response;
00101 Request request;
00102 Response response;
00103
00104 typedef Request RequestType;
00105 typedef Response ResponseType;
00106 };
00107 }
00108
00109 namespace ros
00110 {
00111 namespace message_traits
00112 {
00113 template<class ContainerAllocator> struct IsMessage< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> > : public TrueType {};
00114 template<class ContainerAllocator> struct IsMessage< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> const> : public TrueType {};
00115 template<class ContainerAllocator>
00116 struct MD5Sum< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> > {
00117 static const char* value()
00118 {
00119 return "85ef604243258e1594c5a7401f5e0339";
00120 }
00121
00122 static const char* value(const ::gateway_comms::AdvertiseRequest_<ContainerAllocator> &) { return value(); }
00123 static const uint64_t static_value1 = 0x85ef604243258e15ULL;
00124 static const uint64_t static_value2 = 0x94c5a7401f5e0339ULL;
00125 };
00126
00127 template<class ContainerAllocator>
00128 struct DataType< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> > {
00129 static const char* value()
00130 {
00131 return "gateway_comms/AdvertiseRequest";
00132 }
00133
00134 static const char* value(const ::gateway_comms::AdvertiseRequest_<ContainerAllocator> &) { return value(); }
00135 };
00136
00137 template<class ContainerAllocator>
00138 struct Definition< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> > {
00139 static const char* value()
00140 {
00141 return "\n\
00142 bool cancel\n\
00143 Rule[] rules\n\
00144 \n\
00145 \n\
00146 ================================================================================\n\
00147 MSG: gateway_comms/Rule\n\
00148 # Standard gateway connection rule\n\
00149 \n\
00150 # type of connection (from gateway_comms.msg.Connection)\n\
00151 string type\n\
00152 \n\
00153 # this is the topic/service name or the action base name (a regex is supported)\n\
00154 string name \n\
00155 \n\
00156 # (optional) an optional node name can be provided. if node name is not provided\n\
00157 # then all nodes are matched (also supports regex)\n\
00158 string node\n\
00159 \n\
00160 ";
00161 }
00162
00163 static const char* value(const ::gateway_comms::AdvertiseRequest_<ContainerAllocator> &) { return value(); }
00164 };
00165
00166 }
00167 }
00168
00169
00170 namespace ros
00171 {
00172 namespace message_traits
00173 {
00174 template<class ContainerAllocator> struct IsMessage< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> > : public TrueType {};
00175 template<class ContainerAllocator> struct IsMessage< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> const> : public TrueType {};
00176 template<class ContainerAllocator>
00177 struct MD5Sum< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> > {
00178 static const char* value()
00179 {
00180 return "c389af2721ca403446acba93862aff4f";
00181 }
00182
00183 static const char* value(const ::gateway_comms::AdvertiseResponse_<ContainerAllocator> &) { return value(); }
00184 static const uint64_t static_value1 = 0xc389af2721ca4034ULL;
00185 static const uint64_t static_value2 = 0x46acba93862aff4fULL;
00186 };
00187
00188 template<class ContainerAllocator>
00189 struct DataType< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> > {
00190 static const char* value()
00191 {
00192 return "gateway_comms/AdvertiseResponse";
00193 }
00194
00195 static const char* value(const ::gateway_comms::AdvertiseResponse_<ContainerAllocator> &) { return value(); }
00196 };
00197
00198 template<class ContainerAllocator>
00199 struct Definition< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> > {
00200 static const char* value()
00201 {
00202 return "\n\
00203 \n\
00204 \n\
00205 int8 result\n\
00206 string error_message\n\
00207 \n\
00208 Rule[] watchlist\n\
00209 \n\
00210 \n\
00211 ================================================================================\n\
00212 MSG: gateway_comms/Rule\n\
00213 # Standard gateway connection rule\n\
00214 \n\
00215 # type of connection (from gateway_comms.msg.Connection)\n\
00216 string type\n\
00217 \n\
00218 # this is the topic/service name or the action base name (a regex is supported)\n\
00219 string name \n\
00220 \n\
00221 # (optional) an optional node name can be provided. if node name is not provided\n\
00222 # then all nodes are matched (also supports regex)\n\
00223 string node\n\
00224 \n\
00225 ";
00226 }
00227
00228 static const char* value(const ::gateway_comms::AdvertiseResponse_<ContainerAllocator> &) { return value(); }
00229 };
00230
00231 }
00232 }
00233
00234 namespace ros
00235 {
00236 namespace serialization
00237 {
00238
00239 template<class ContainerAllocator> struct Serializer< ::gateway_comms::AdvertiseRequest_<ContainerAllocator> >
00240 {
00241 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00242 {
00243 stream.next(m.cancel);
00244 stream.next(m.rules);
00245 }
00246
00247 ROS_DECLARE_ALLINONE_SERIALIZER;
00248 };
00249 }
00250 }
00251
00252
00253 namespace ros
00254 {
00255 namespace serialization
00256 {
00257
00258 template<class ContainerAllocator> struct Serializer< ::gateway_comms::AdvertiseResponse_<ContainerAllocator> >
00259 {
00260 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00261 {
00262 stream.next(m.result);
00263 stream.next(m.error_message);
00264 stream.next(m.watchlist);
00265 }
00266
00267 ROS_DECLARE_ALLINONE_SERIALIZER;
00268 };
00269 }
00270 }
00271
00272 namespace ros
00273 {
00274 namespace service_traits
00275 {
00276 template<>
00277 struct MD5Sum<gateway_comms::Advertise> {
00278 static const char* value()
00279 {
00280 return "394a2b6787bc0694573ae81a1842f14b";
00281 }
00282
00283 static const char* value(const gateway_comms::Advertise&) { return value(); }
00284 };
00285
00286 template<>
00287 struct DataType<gateway_comms::Advertise> {
00288 static const char* value()
00289 {
00290 return "gateway_comms/Advertise";
00291 }
00292
00293 static const char* value(const gateway_comms::Advertise&) { return value(); }
00294 };
00295
00296 template<class ContainerAllocator>
00297 struct MD5Sum<gateway_comms::AdvertiseRequest_<ContainerAllocator> > {
00298 static const char* value()
00299 {
00300 return "394a2b6787bc0694573ae81a1842f14b";
00301 }
00302
00303 static const char* value(const gateway_comms::AdvertiseRequest_<ContainerAllocator> &) { return value(); }
00304 };
00305
00306 template<class ContainerAllocator>
00307 struct DataType<gateway_comms::AdvertiseRequest_<ContainerAllocator> > {
00308 static const char* value()
00309 {
00310 return "gateway_comms/Advertise";
00311 }
00312
00313 static const char* value(const gateway_comms::AdvertiseRequest_<ContainerAllocator> &) { return value(); }
00314 };
00315
00316 template<class ContainerAllocator>
00317 struct MD5Sum<gateway_comms::AdvertiseResponse_<ContainerAllocator> > {
00318 static const char* value()
00319 {
00320 return "394a2b6787bc0694573ae81a1842f14b";
00321 }
00322
00323 static const char* value(const gateway_comms::AdvertiseResponse_<ContainerAllocator> &) { return value(); }
00324 };
00325
00326 template<class ContainerAllocator>
00327 struct DataType<gateway_comms::AdvertiseResponse_<ContainerAllocator> > {
00328 static const char* value()
00329 {
00330 return "gateway_comms/Advertise";
00331 }
00332
00333 static const char* value(const gateway_comms::AdvertiseResponse_<ContainerAllocator> &) { return value(); }
00334 };
00335
00336 }
00337 }
00338
00339 #endif // GATEWAY_COMMS_SERVICE_ADVERTISE_H
00340