00001
00002 #ifndef GATEWAY_MSGS_SERVICE_GATEWAYINFO_H
00003 #define GATEWAY_MSGS_SERVICE_GATEWAYINFO_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 #include "gateway_msgs/Rule.h"
00022 #include "gateway_msgs/Rule.h"
00023 #include "gateway_msgs/RemoteRule.h"
00024 #include "gateway_msgs/RemoteRule.h"
00025 #include "gateway_msgs/RemoteRule.h"
00026 #include "gateway_msgs/RemoteRule.h"
00027 #include "gateway_msgs/RemoteRule.h"
00028
00029 namespace gateway_msgs
00030 {
00031 template <class ContainerAllocator>
00032 struct GatewayInfoRequest_ {
00033 typedef GatewayInfoRequest_<ContainerAllocator> Type;
00034
00035 GatewayInfoRequest_()
00036 {
00037 }
00038
00039 GatewayInfoRequest_(const ContainerAllocator& _alloc)
00040 {
00041 }
00042
00043
00044 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > Ptr;
00045 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> const> ConstPtr;
00046 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00047 };
00048 typedef ::gateway_msgs::GatewayInfoRequest_<std::allocator<void> > GatewayInfoRequest;
00049
00050 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoRequest> GatewayInfoRequestPtr;
00051 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoRequest const> GatewayInfoRequestConstPtr;
00052
00053
00054 template <class ContainerAllocator>
00055 struct GatewayInfoResponse_ {
00056 typedef GatewayInfoResponse_<ContainerAllocator> Type;
00057
00058 GatewayInfoResponse_()
00059 : name()
00060 , connected(false)
00061 , ip()
00062 , hub_name()
00063 , hub_uri()
00064 , firewall(false)
00065 , public_watchlist()
00066 , public_interface()
00067 , flipped_connections()
00068 , flip_watchlist()
00069 , flipped_in_connections()
00070 , pull_watchlist()
00071 , pulled_connections()
00072 {
00073 }
00074
00075 GatewayInfoResponse_(const ContainerAllocator& _alloc)
00076 : name(_alloc)
00077 , connected(false)
00078 , ip(_alloc)
00079 , hub_name(_alloc)
00080 , hub_uri(_alloc)
00081 , firewall(false)
00082 , public_watchlist(_alloc)
00083 , public_interface(_alloc)
00084 , flipped_connections(_alloc)
00085 , flip_watchlist(_alloc)
00086 , flipped_in_connections(_alloc)
00087 , pull_watchlist(_alloc)
00088 , pulled_connections(_alloc)
00089 {
00090 }
00091
00092 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type;
00093 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name;
00094
00095 typedef uint8_t _connected_type;
00096 uint8_t connected;
00097
00098 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _ip_type;
00099 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > ip;
00100
00101 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _hub_name_type;
00102 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > hub_name;
00103
00104 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _hub_uri_type;
00105 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > hub_uri;
00106
00107 typedef uint8_t _firewall_type;
00108 uint8_t firewall;
00109
00110 typedef std::vector< ::gateway_msgs::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::Rule_<ContainerAllocator> >::other > _public_watchlist_type;
00111 std::vector< ::gateway_msgs::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::Rule_<ContainerAllocator> >::other > public_watchlist;
00112
00113 typedef std::vector< ::gateway_msgs::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::Rule_<ContainerAllocator> >::other > _public_interface_type;
00114 std::vector< ::gateway_msgs::Rule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::Rule_<ContainerAllocator> >::other > public_interface;
00115
00116 typedef std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > _flipped_connections_type;
00117 std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > flipped_connections;
00118
00119 typedef std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > _flip_watchlist_type;
00120 std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > flip_watchlist;
00121
00122 typedef std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > _flipped_in_connections_type;
00123 std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > flipped_in_connections;
00124
00125 typedef std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > _pull_watchlist_type;
00126 std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > pull_watchlist;
00127
00128 typedef std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > _pulled_connections_type;
00129 std::vector< ::gateway_msgs::RemoteRule_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteRule_<ContainerAllocator> >::other > pulled_connections;
00130
00131
00132 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > Ptr;
00133 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> const> ConstPtr;
00134 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00135 };
00136 typedef ::gateway_msgs::GatewayInfoResponse_<std::allocator<void> > GatewayInfoResponse;
00137
00138 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoResponse> GatewayInfoResponsePtr;
00139 typedef boost::shared_ptr< ::gateway_msgs::GatewayInfoResponse const> GatewayInfoResponseConstPtr;
00140
00141 struct GatewayInfo
00142 {
00143
00144 typedef GatewayInfoRequest Request;
00145 typedef GatewayInfoResponse Response;
00146 Request request;
00147 Response response;
00148
00149 typedef Request RequestType;
00150 typedef Response ResponseType;
00151 };
00152 }
00153
00154 namespace ros
00155 {
00156 namespace message_traits
00157 {
00158 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > : public TrueType {};
00159 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> const> : public TrueType {};
00160 template<class ContainerAllocator>
00161 struct MD5Sum< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > {
00162 static const char* value()
00163 {
00164 return "d41d8cd98f00b204e9800998ecf8427e";
00165 }
00166
00167 static const char* value(const ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00168 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL;
00169 static const uint64_t static_value2 = 0xe9800998ecf8427eULL;
00170 };
00171
00172 template<class ContainerAllocator>
00173 struct DataType< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > {
00174 static const char* value()
00175 {
00176 return "gateway_msgs/GatewayInfoRequest";
00177 }
00178
00179 static const char* value(const ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00180 };
00181
00182 template<class ContainerAllocator>
00183 struct Definition< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > {
00184 static const char* value()
00185 {
00186 return "\n\
00187 ";
00188 }
00189
00190 static const char* value(const ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00191 };
00192
00193 template<class ContainerAllocator> struct IsFixedSize< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > : public TrueType {};
00194 }
00195 }
00196
00197
00198 namespace ros
00199 {
00200 namespace message_traits
00201 {
00202 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > : public TrueType {};
00203 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> const> : public TrueType {};
00204 template<class ContainerAllocator>
00205 struct MD5Sum< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > {
00206 static const char* value()
00207 {
00208 return "0cffdf8c5268eb6395435e38f6f66c38";
00209 }
00210
00211 static const char* value(const ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00212 static const uint64_t static_value1 = 0x0cffdf8c5268eb63ULL;
00213 static const uint64_t static_value2 = 0x95435e38f6f66c38ULL;
00214 };
00215
00216 template<class ContainerAllocator>
00217 struct DataType< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > {
00218 static const char* value()
00219 {
00220 return "gateway_msgs/GatewayInfoResponse";
00221 }
00222
00223 static const char* value(const ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00224 };
00225
00226 template<class ContainerAllocator>
00227 struct Definition< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > {
00228 static const char* value()
00229 {
00230 return "\n\
00231 \n\
00232 \n\
00233 string name\n\
00234 bool connected\n\
00235 string ip\n\
00236 \n\
00237 \n\
00238 string hub_name\n\
00239 string hub_uri\n\
00240 \n\
00241 bool firewall\n\
00242 \n\
00243 \n\
00244 \n\
00245 Rule[] public_watchlist\n\
00246 Rule[] public_interface\n\
00247 \n\
00248 \n\
00249 \n\
00250 RemoteRule[] flipped_connections\n\
00251 RemoteRule[] flip_watchlist\n\
00252 RemoteRule[] flipped_in_connections\n\
00253 \n\
00254 \n\
00255 \n\
00256 RemoteRule[] pull_watchlist\n\
00257 RemoteRule[] pulled_connections\n\
00258 \n\
00259 \n\
00260 \n\
00261 ================================================================================\n\
00262 MSG: gateway_msgs/Rule\n\
00263 # Standard gateway connection rule\n\
00264 \n\
00265 # type of connection (from gateway_msgs.msg.Connection)\n\
00266 string type\n\
00267 \n\
00268 # this is the topic/service name or the action base name (a regex is supported)\n\
00269 string name \n\
00270 \n\
00271 # (optional) an optional node name can be provided. if node name is not provided\n\
00272 # then all nodes are matched (also supports regex)\n\
00273 string node\n\
00274 \n\
00275 ================================================================================\n\
00276 MSG: gateway_msgs/RemoteRule\n\
00277 # Definition for a flip. It represents either:\n\
00278 #\n\
00279 # 1) an existing flipped connection (from the local gateway)\n\
00280 # 2) a rule that is put on a watchlist\n\
00281 \n\
00282 # The target recipient of the flip\n\
00283 string gateway\n\
00284 \n\
00285 # Connection has the following parameters that need setting\n\
00286 # - name : fully qualified name of the connection (str)\n\
00287 # - type : connection type (str)\n\
00288 # \n\
00289 # Use one of the types defined in Connection string constants:\n\
00290 # (publisher, subscriber, service, action_client, action_server)\n\
00291 #\n\
00292 # - node : name of the node it originates from (str)(optional)\n\
00293 #\n\
00294 # Node name is necessary, for instance, if you have multiple subscribers\n\
00295 # publishing to a single topic. Most of the time it is not necessary,\n\
00296 # but in some cases it helps refine the rule. It helps refine the rule.\n\
00297 #\n\
00298 Rule rule\n\
00299 \n\
00300 ";
00301 }
00302
00303 static const char* value(const ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00304 };
00305
00306 }
00307 }
00308
00309 namespace ros
00310 {
00311 namespace serialization
00312 {
00313
00314 template<class ContainerAllocator> struct Serializer< ::gateway_msgs::GatewayInfoRequest_<ContainerAllocator> >
00315 {
00316 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00317 {
00318 }
00319
00320 ROS_DECLARE_ALLINONE_SERIALIZER;
00321 };
00322 }
00323 }
00324
00325
00326 namespace ros
00327 {
00328 namespace serialization
00329 {
00330
00331 template<class ContainerAllocator> struct Serializer< ::gateway_msgs::GatewayInfoResponse_<ContainerAllocator> >
00332 {
00333 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00334 {
00335 stream.next(m.name);
00336 stream.next(m.connected);
00337 stream.next(m.ip);
00338 stream.next(m.hub_name);
00339 stream.next(m.hub_uri);
00340 stream.next(m.firewall);
00341 stream.next(m.public_watchlist);
00342 stream.next(m.public_interface);
00343 stream.next(m.flipped_connections);
00344 stream.next(m.flip_watchlist);
00345 stream.next(m.flipped_in_connections);
00346 stream.next(m.pull_watchlist);
00347 stream.next(m.pulled_connections);
00348 }
00349
00350 ROS_DECLARE_ALLINONE_SERIALIZER;
00351 };
00352 }
00353 }
00354
00355 namespace ros
00356 {
00357 namespace service_traits
00358 {
00359 template<>
00360 struct MD5Sum<gateway_msgs::GatewayInfo> {
00361 static const char* value()
00362 {
00363 return "0cffdf8c5268eb6395435e38f6f66c38";
00364 }
00365
00366 static const char* value(const gateway_msgs::GatewayInfo&) { return value(); }
00367 };
00368
00369 template<>
00370 struct DataType<gateway_msgs::GatewayInfo> {
00371 static const char* value()
00372 {
00373 return "gateway_msgs/GatewayInfo";
00374 }
00375
00376 static const char* value(const gateway_msgs::GatewayInfo&) { return value(); }
00377 };
00378
00379 template<class ContainerAllocator>
00380 struct MD5Sum<gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > {
00381 static const char* value()
00382 {
00383 return "0cffdf8c5268eb6395435e38f6f66c38";
00384 }
00385
00386 static const char* value(const gateway_msgs::GatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00387 };
00388
00389 template<class ContainerAllocator>
00390 struct DataType<gateway_msgs::GatewayInfoRequest_<ContainerAllocator> > {
00391 static const char* value()
00392 {
00393 return "gateway_msgs/GatewayInfo";
00394 }
00395
00396 static const char* value(const gateway_msgs::GatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00397 };
00398
00399 template<class ContainerAllocator>
00400 struct MD5Sum<gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > {
00401 static const char* value()
00402 {
00403 return "0cffdf8c5268eb6395435e38f6f66c38";
00404 }
00405
00406 static const char* value(const gateway_msgs::GatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00407 };
00408
00409 template<class ContainerAllocator>
00410 struct DataType<gateway_msgs::GatewayInfoResponse_<ContainerAllocator> > {
00411 static const char* value()
00412 {
00413 return "gateway_msgs/GatewayInfo";
00414 }
00415
00416 static const char* value(const gateway_msgs::GatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00417 };
00418
00419 }
00420 }
00421
00422 #endif // GATEWAY_MSGS_SERVICE_GATEWAYINFO_H
00423