Go to the documentation of this file.00001
00002 #ifndef GATEWAY_MSGS_SERVICE_REMOTEGATEWAYINFO_H
00003 #define GATEWAY_MSGS_SERVICE_REMOTEGATEWAYINFO_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/RemoteGateway.h"
00022
00023 namespace gateway_msgs
00024 {
00025 template <class ContainerAllocator>
00026 struct RemoteGatewayInfoRequest_ {
00027 typedef RemoteGatewayInfoRequest_<ContainerAllocator> Type;
00028
00029 RemoteGatewayInfoRequest_()
00030 : gateways()
00031 {
00032 }
00033
00034 RemoteGatewayInfoRequest_(const ContainerAllocator& _alloc)
00035 : gateways(_alloc)
00036 {
00037 }
00038
00039 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 > _gateways_type;
00040 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 > gateways;
00041
00042
00043 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > Ptr;
00044 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> const> ConstPtr;
00045 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00046 };
00047 typedef ::gateway_msgs::RemoteGatewayInfoRequest_<std::allocator<void> > RemoteGatewayInfoRequest;
00048
00049 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoRequest> RemoteGatewayInfoRequestPtr;
00050 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoRequest const> RemoteGatewayInfoRequestConstPtr;
00051
00052
00053 template <class ContainerAllocator>
00054 struct RemoteGatewayInfoResponse_ {
00055 typedef RemoteGatewayInfoResponse_<ContainerAllocator> Type;
00056
00057 RemoteGatewayInfoResponse_()
00058 : gateways()
00059 {
00060 }
00061
00062 RemoteGatewayInfoResponse_(const ContainerAllocator& _alloc)
00063 : gateways(_alloc)
00064 {
00065 }
00066
00067 typedef std::vector< ::gateway_msgs::RemoteGateway_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteGateway_<ContainerAllocator> >::other > _gateways_type;
00068 std::vector< ::gateway_msgs::RemoteGateway_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::gateway_msgs::RemoteGateway_<ContainerAllocator> >::other > gateways;
00069
00070
00071 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > Ptr;
00072 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> const> ConstPtr;
00073 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00074 };
00075 typedef ::gateway_msgs::RemoteGatewayInfoResponse_<std::allocator<void> > RemoteGatewayInfoResponse;
00076
00077 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoResponse> RemoteGatewayInfoResponsePtr;
00078 typedef boost::shared_ptr< ::gateway_msgs::RemoteGatewayInfoResponse const> RemoteGatewayInfoResponseConstPtr;
00079
00080 struct RemoteGatewayInfo
00081 {
00082
00083 typedef RemoteGatewayInfoRequest Request;
00084 typedef RemoteGatewayInfoResponse Response;
00085 Request request;
00086 Response response;
00087
00088 typedef Request RequestType;
00089 typedef Response ResponseType;
00090 };
00091 }
00092
00093 namespace ros
00094 {
00095 namespace message_traits
00096 {
00097 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > : public TrueType {};
00098 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> const> : public TrueType {};
00099 template<class ContainerAllocator>
00100 struct MD5Sum< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > {
00101 static const char* value()
00102 {
00103 return "e005eaac1f4b29980f211758e562aa6e";
00104 }
00105
00106 static const char* value(const ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00107 static const uint64_t static_value1 = 0xe005eaac1f4b2998ULL;
00108 static const uint64_t static_value2 = 0x0f211758e562aa6eULL;
00109 };
00110
00111 template<class ContainerAllocator>
00112 struct DataType< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > {
00113 static const char* value()
00114 {
00115 return "gateway_msgs/RemoteGatewayInfoRequest";
00116 }
00117
00118 static const char* value(const ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00119 };
00120
00121 template<class ContainerAllocator>
00122 struct Definition< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > {
00123 static const char* value()
00124 {
00125 return "\n\
00126 \n\
00127 string[] gateways\n\
00128 \n\
00129 ";
00130 }
00131
00132 static const char* value(const ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00133 };
00134
00135 }
00136 }
00137
00138
00139 namespace ros
00140 {
00141 namespace message_traits
00142 {
00143 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > : public TrueType {};
00144 template<class ContainerAllocator> struct IsMessage< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> const> : public TrueType {};
00145 template<class ContainerAllocator>
00146 struct MD5Sum< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > {
00147 static const char* value()
00148 {
00149 return "303a0993450751ffdd331454ee056fe0";
00150 }
00151
00152 static const char* value(const ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00153 static const uint64_t static_value1 = 0x303a0993450751ffULL;
00154 static const uint64_t static_value2 = 0xdd331454ee056fe0ULL;
00155 };
00156
00157 template<class ContainerAllocator>
00158 struct DataType< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > {
00159 static const char* value()
00160 {
00161 return "gateway_msgs/RemoteGatewayInfoResponse";
00162 }
00163
00164 static const char* value(const ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00165 };
00166
00167 template<class ContainerAllocator>
00168 struct Definition< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > {
00169 static const char* value()
00170 {
00171 return "RemoteGateway[] gateways\n\
00172 \n\
00173 \n\
00174 ================================================================================\n\
00175 MSG: gateway_msgs/RemoteGateway\n\
00176 ###### Gateway information ######\n\
00177 string name\n\
00178 string ip\n\
00179 #TODO blocking status,health\n\
00180 bool firewall\n\
00181 \n\
00182 ###### Public Interface ######\n\
00183 \n\
00184 Rule[] public_interface\n\
00185 \n\
00186 \n\
00187 ###### Flipped Interface ######\n\
00188 \n\
00189 # Flipped and pulled interfaces would be useful for debugging \n\
00190 # https://github.com/robotics-in-concert/rocon_multimaster/issues/84\n\
00191 \n\
00192 RemoteRule[] flipped_interface\n\
00193 RemoteRule[] pulled_interface\n\
00194 \n\
00195 ###### Foreign Interface ######\n\
00196 \n\
00197 # Q) Should we show these?\n\
00198 # A) Probably not, in the overall scheme of things, \n\
00199 # it doubles up the information from above\n\
00200 \n\
00201 # RemoteRule[] flipped_in_connections\n\
00202 # RemoteRule[] pulled_connections\n\
00203 \n\
00204 ================================================================================\n\
00205 MSG: gateway_msgs/Rule\n\
00206 # Standard gateway connection rule\n\
00207 \n\
00208 # type of connection (from gateway_msgs.msg.Connection)\n\
00209 string type\n\
00210 \n\
00211 # this is the topic/service name or the action base name (a regex is supported)\n\
00212 string name \n\
00213 \n\
00214 # (optional) an optional node name can be provided. if node name is not provided\n\
00215 # then all nodes are matched (also supports regex)\n\
00216 string node\n\
00217 \n\
00218 ================================================================================\n\
00219 MSG: gateway_msgs/RemoteRule\n\
00220 # Definition for a flip. It represents either:\n\
00221 #\n\
00222 # 1) an existing flipped connection (from the local gateway)\n\
00223 # 2) a rule that is put on a watchlist\n\
00224 \n\
00225 # The target recipient of the flip\n\
00226 string gateway\n\
00227 \n\
00228 # Connection has the following parameters that need setting\n\
00229 # - name : fully qualified name of the connection (str)\n\
00230 # - type : connection type (str)\n\
00231 # \n\
00232 # Use one of the types defined in Connection string constants:\n\
00233 # (publisher, subscriber, service, action_client, action_server)\n\
00234 #\n\
00235 # - node : name of the node it originates from (str)(optional)\n\
00236 #\n\
00237 # Node name is necessary, for instance, if you have multiple subscribers\n\
00238 # publishing to a single topic. Most of the time it is not necessary,\n\
00239 # but in some cases it helps refine the rule. It helps refine the rule.\n\
00240 #\n\
00241 Rule rule\n\
00242 \n\
00243 ";
00244 }
00245
00246 static const char* value(const ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00247 };
00248
00249 }
00250 }
00251
00252 namespace ros
00253 {
00254 namespace serialization
00255 {
00256
00257 template<class ContainerAllocator> struct Serializer< ::gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> >
00258 {
00259 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00260 {
00261 stream.next(m.gateways);
00262 }
00263
00264 ROS_DECLARE_ALLINONE_SERIALIZER;
00265 };
00266 }
00267 }
00268
00269
00270 namespace ros
00271 {
00272 namespace serialization
00273 {
00274
00275 template<class ContainerAllocator> struct Serializer< ::gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> >
00276 {
00277 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00278 {
00279 stream.next(m.gateways);
00280 }
00281
00282 ROS_DECLARE_ALLINONE_SERIALIZER;
00283 };
00284 }
00285 }
00286
00287 namespace ros
00288 {
00289 namespace service_traits
00290 {
00291 template<>
00292 struct MD5Sum<gateway_msgs::RemoteGatewayInfo> {
00293 static const char* value()
00294 {
00295 return "9d8812307e0422d30d4ad675d3495cf8";
00296 }
00297
00298 static const char* value(const gateway_msgs::RemoteGatewayInfo&) { return value(); }
00299 };
00300
00301 template<>
00302 struct DataType<gateway_msgs::RemoteGatewayInfo> {
00303 static const char* value()
00304 {
00305 return "gateway_msgs/RemoteGatewayInfo";
00306 }
00307
00308 static const char* value(const gateway_msgs::RemoteGatewayInfo&) { return value(); }
00309 };
00310
00311 template<class ContainerAllocator>
00312 struct MD5Sum<gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > {
00313 static const char* value()
00314 {
00315 return "9d8812307e0422d30d4ad675d3495cf8";
00316 }
00317
00318 static const char* value(const gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00319 };
00320
00321 template<class ContainerAllocator>
00322 struct DataType<gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> > {
00323 static const char* value()
00324 {
00325 return "gateway_msgs/RemoteGatewayInfo";
00326 }
00327
00328 static const char* value(const gateway_msgs::RemoteGatewayInfoRequest_<ContainerAllocator> &) { return value(); }
00329 };
00330
00331 template<class ContainerAllocator>
00332 struct MD5Sum<gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > {
00333 static const char* value()
00334 {
00335 return "9d8812307e0422d30d4ad675d3495cf8";
00336 }
00337
00338 static const char* value(const gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00339 };
00340
00341 template<class ContainerAllocator>
00342 struct DataType<gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> > {
00343 static const char* value()
00344 {
00345 return "gateway_msgs/RemoteGatewayInfo";
00346 }
00347
00348 static const char* value(const gateway_msgs::RemoteGatewayInfoResponse_<ContainerAllocator> &) { return value(); }
00349 };
00350
00351 }
00352 }
00353
00354 #endif // GATEWAY_MSGS_SERVICE_REMOTEGATEWAYINFO_H
00355