00001
00002 #ifndef WAREHOUSE_SERVICE_INITIATEQUERY_H
00003 #define WAREHOUSE_SERVICE_INITIATEQUERY_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/service_traits.h"
00014
00015 #include "warehouse/Condition.h"
00016 #include "warehouse/OrderingCriterion.h"
00017
00018
00019
00020 namespace warehouse
00021 {
00022 template <class ContainerAllocator>
00023 struct InitiateQueryRequest_ : public ros::Message
00024 {
00025 typedef InitiateQueryRequest_<ContainerAllocator> Type;
00026
00027 InitiateQueryRequest_()
00028 : db_name()
00029 , collection_name()
00030 , query()
00031 , order()
00032 , metadata_only(false)
00033 {
00034 }
00035
00036 InitiateQueryRequest_(const ContainerAllocator& _alloc)
00037 : db_name(_alloc)
00038 , collection_name(_alloc)
00039 , query(_alloc)
00040 , order(_alloc)
00041 , metadata_only(false)
00042 {
00043 }
00044
00045 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _db_name_type;
00046 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > db_name;
00047
00048 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _collection_name_type;
00049 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > collection_name;
00050
00051 typedef std::vector< ::warehouse::Condition_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::warehouse::Condition_<ContainerAllocator> >::other > _query_type;
00052 std::vector< ::warehouse::Condition_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::warehouse::Condition_<ContainerAllocator> >::other > query;
00053
00054 typedef ::warehouse::OrderingCriterion_<ContainerAllocator> _order_type;
00055 ::warehouse::OrderingCriterion_<ContainerAllocator> order;
00056
00057 typedef uint8_t _metadata_only_type;
00058 uint8_t metadata_only;
00059
00060
00061 ROS_DEPRECATED uint32_t get_query_size() const { return (uint32_t)query.size(); }
00062 ROS_DEPRECATED void set_query_size(uint32_t size) { query.resize((size_t)size); }
00063 ROS_DEPRECATED void get_query_vec(std::vector< ::warehouse::Condition_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::warehouse::Condition_<ContainerAllocator> >::other > & vec) const { vec = this->query; }
00064 ROS_DEPRECATED void set_query_vec(const std::vector< ::warehouse::Condition_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::warehouse::Condition_<ContainerAllocator> >::other > & vec) { this->query = vec; }
00065 private:
00066 static const char* __s_getDataType_() { return "warehouse/InitiateQueryRequest"; }
00067 public:
00068 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00069
00070 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00071
00072 private:
00073 static const char* __s_getMD5Sum_() { return "a16d57a61179cc1956c03193340744da"; }
00074 public:
00075 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00076
00077 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00078
00079 private:
00080 static const char* __s_getServerMD5Sum_() { return "8bd9a1214f9512d68a0e5a3e2876a83b"; }
00081 public:
00082 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00083
00084 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00085
00086 private:
00087 static const char* __s_getMessageDefinition_() { return "\n\
00088 string db_name\n\
00089 string collection_name\n\
00090 \n\
00091 \n\
00092 warehouse/Condition[] query\n\
00093 \n\
00094 warehouse/OrderingCriterion order\n\
00095 \n\
00096 \n\
00097 \n\
00098 bool metadata_only\n\
00099 \n\
00100 ================================================================================\n\
00101 MSG: warehouse/Condition\n\
00102 # Represents an individual condition on a field in a query\n\
00103 \n\
00104 # Field name, which can be nested. E.g., \"pose.position.x\"\n\
00105 string field_name\n\
00106 \n\
00107 # Predicate, which must be of one the types below\n\
00108 uint8 predicate\n\
00109 \n\
00110 # Predicate arguments, which are parsed from strings, in a predicate-dependent manner\n\
00111 string[] args\n\
00112 \n\
00113 \n\
00114 ## Predicate types\n\
00115 \n\
00116 # numerical field must be less than args[0]\n\
00117 uint8 LESS_THAN=0\n\
00118 \n\
00119 # numerical field must be greater than args[0]\n\
00120 uint8 GREATER_THAN=1\n\
00121 \n\
00122 # field must equal args[0]\n\
00123 uint8 EQUALS=2\n\
00124 ================================================================================\n\
00125 MSG: warehouse/OrderingCriterion\n\
00126 # Represents an ordering criterion to use in a query result set\n\
00127 \n\
00128 # Name of the (nested) field to order by, e.g., \"position.x\"\n\
00129 # Can also be \"_creation_time\"\n\
00130 string field\n\
00131 \n\
00132 # If true, we'll use descending rather than ascending order\n\
00133 bool reverse\n\
00134 "; }
00135 public:
00136 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00137
00138 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00139
00140 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00141 {
00142 ros::serialization::OStream stream(write_ptr, 1000000000);
00143 ros::serialization::serialize(stream, db_name);
00144 ros::serialization::serialize(stream, collection_name);
00145 ros::serialization::serialize(stream, query);
00146 ros::serialization::serialize(stream, order);
00147 ros::serialization::serialize(stream, metadata_only);
00148 return stream.getData();
00149 }
00150
00151 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00152 {
00153 ros::serialization::IStream stream(read_ptr, 1000000000);
00154 ros::serialization::deserialize(stream, db_name);
00155 ros::serialization::deserialize(stream, collection_name);
00156 ros::serialization::deserialize(stream, query);
00157 ros::serialization::deserialize(stream, order);
00158 ros::serialization::deserialize(stream, metadata_only);
00159 return stream.getData();
00160 }
00161
00162 ROS_DEPRECATED virtual uint32_t serializationLength() const
00163 {
00164 uint32_t size = 0;
00165 size += ros::serialization::serializationLength(db_name);
00166 size += ros::serialization::serializationLength(collection_name);
00167 size += ros::serialization::serializationLength(query);
00168 size += ros::serialization::serializationLength(order);
00169 size += ros::serialization::serializationLength(metadata_only);
00170 return size;
00171 }
00172
00173 typedef boost::shared_ptr< ::warehouse::InitiateQueryRequest_<ContainerAllocator> > Ptr;
00174 typedef boost::shared_ptr< ::warehouse::InitiateQueryRequest_<ContainerAllocator> const> ConstPtr;
00175 };
00176 typedef ::warehouse::InitiateQueryRequest_<std::allocator<void> > InitiateQueryRequest;
00177
00178 typedef boost::shared_ptr< ::warehouse::InitiateQueryRequest> InitiateQueryRequestPtr;
00179 typedef boost::shared_ptr< ::warehouse::InitiateQueryRequest const> InitiateQueryRequestConstPtr;
00180
00181
00182 template <class ContainerAllocator>
00183 struct InitiateQueryResponse_ : public ros::Message
00184 {
00185 typedef InitiateQueryResponse_<ContainerAllocator> Type;
00186
00187 InitiateQueryResponse_()
00188 : query_id()
00189 {
00190 }
00191
00192 InitiateQueryResponse_(const ContainerAllocator& _alloc)
00193 : query_id(_alloc)
00194 {
00195 }
00196
00197 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _query_id_type;
00198 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > query_id;
00199
00200
00201 private:
00202 static const char* __s_getDataType_() { return "warehouse/InitiateQueryResponse"; }
00203 public:
00204 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00205
00206 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00207
00208 private:
00209 static const char* __s_getMD5Sum_() { return "2445fbb91e099a39ade02d30b6062bd8"; }
00210 public:
00211 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00212
00213 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00214
00215 private:
00216 static const char* __s_getServerMD5Sum_() { return "8bd9a1214f9512d68a0e5a3e2876a83b"; }
00217 public:
00218 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00219
00220 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00221
00222 private:
00223 static const char* __s_getMessageDefinition_() { return "\n\
00224 string query_id\n\
00225 \n\
00226 \n\
00227 \n\
00228 \n\
00229 "; }
00230 public:
00231 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00232
00233 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00234
00235 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00236 {
00237 ros::serialization::OStream stream(write_ptr, 1000000000);
00238 ros::serialization::serialize(stream, query_id);
00239 return stream.getData();
00240 }
00241
00242 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00243 {
00244 ros::serialization::IStream stream(read_ptr, 1000000000);
00245 ros::serialization::deserialize(stream, query_id);
00246 return stream.getData();
00247 }
00248
00249 ROS_DEPRECATED virtual uint32_t serializationLength() const
00250 {
00251 uint32_t size = 0;
00252 size += ros::serialization::serializationLength(query_id);
00253 return size;
00254 }
00255
00256 typedef boost::shared_ptr< ::warehouse::InitiateQueryResponse_<ContainerAllocator> > Ptr;
00257 typedef boost::shared_ptr< ::warehouse::InitiateQueryResponse_<ContainerAllocator> const> ConstPtr;
00258 };
00259 typedef ::warehouse::InitiateQueryResponse_<std::allocator<void> > InitiateQueryResponse;
00260
00261 typedef boost::shared_ptr< ::warehouse::InitiateQueryResponse> InitiateQueryResponsePtr;
00262 typedef boost::shared_ptr< ::warehouse::InitiateQueryResponse const> InitiateQueryResponseConstPtr;
00263
00264 struct InitiateQuery
00265 {
00266
00267 typedef InitiateQueryRequest Request;
00268 typedef InitiateQueryResponse Response;
00269 Request request;
00270 Response response;
00271
00272 typedef Request RequestType;
00273 typedef Response ResponseType;
00274 };
00275 }
00276
00277 namespace ros
00278 {
00279 namespace message_traits
00280 {
00281 template<class ContainerAllocator>
00282 struct MD5Sum< ::warehouse::InitiateQueryRequest_<ContainerAllocator> > {
00283 static const char* value()
00284 {
00285 return "a16d57a61179cc1956c03193340744da";
00286 }
00287
00288 static const char* value(const ::warehouse::InitiateQueryRequest_<ContainerAllocator> &) { return value(); }
00289 static const uint64_t static_value1 = 0xa16d57a61179cc19ULL;
00290 static const uint64_t static_value2 = 0x56c03193340744daULL;
00291 };
00292
00293 template<class ContainerAllocator>
00294 struct DataType< ::warehouse::InitiateQueryRequest_<ContainerAllocator> > {
00295 static const char* value()
00296 {
00297 return "warehouse/InitiateQueryRequest";
00298 }
00299
00300 static const char* value(const ::warehouse::InitiateQueryRequest_<ContainerAllocator> &) { return value(); }
00301 };
00302
00303 template<class ContainerAllocator>
00304 struct Definition< ::warehouse::InitiateQueryRequest_<ContainerAllocator> > {
00305 static const char* value()
00306 {
00307 return "\n\
00308 string db_name\n\
00309 string collection_name\n\
00310 \n\
00311 \n\
00312 warehouse/Condition[] query\n\
00313 \n\
00314 warehouse/OrderingCriterion order\n\
00315 \n\
00316 \n\
00317 \n\
00318 bool metadata_only\n\
00319 \n\
00320 ================================================================================\n\
00321 MSG: warehouse/Condition\n\
00322 # Represents an individual condition on a field in a query\n\
00323 \n\
00324 # Field name, which can be nested. E.g., \"pose.position.x\"\n\
00325 string field_name\n\
00326 \n\
00327 # Predicate, which must be of one the types below\n\
00328 uint8 predicate\n\
00329 \n\
00330 # Predicate arguments, which are parsed from strings, in a predicate-dependent manner\n\
00331 string[] args\n\
00332 \n\
00333 \n\
00334 ## Predicate types\n\
00335 \n\
00336 # numerical field must be less than args[0]\n\
00337 uint8 LESS_THAN=0\n\
00338 \n\
00339 # numerical field must be greater than args[0]\n\
00340 uint8 GREATER_THAN=1\n\
00341 \n\
00342 # field must equal args[0]\n\
00343 uint8 EQUALS=2\n\
00344 ================================================================================\n\
00345 MSG: warehouse/OrderingCriterion\n\
00346 # Represents an ordering criterion to use in a query result set\n\
00347 \n\
00348 # Name of the (nested) field to order by, e.g., \"position.x\"\n\
00349 # Can also be \"_creation_time\"\n\
00350 string field\n\
00351 \n\
00352 # If true, we'll use descending rather than ascending order\n\
00353 bool reverse\n\
00354 ";
00355 }
00356
00357 static const char* value(const ::warehouse::InitiateQueryRequest_<ContainerAllocator> &) { return value(); }
00358 };
00359
00360 }
00361 }
00362
00363
00364 namespace ros
00365 {
00366 namespace message_traits
00367 {
00368 template<class ContainerAllocator>
00369 struct MD5Sum< ::warehouse::InitiateQueryResponse_<ContainerAllocator> > {
00370 static const char* value()
00371 {
00372 return "2445fbb91e099a39ade02d30b6062bd8";
00373 }
00374
00375 static const char* value(const ::warehouse::InitiateQueryResponse_<ContainerAllocator> &) { return value(); }
00376 static const uint64_t static_value1 = 0x2445fbb91e099a39ULL;
00377 static const uint64_t static_value2 = 0xade02d30b6062bd8ULL;
00378 };
00379
00380 template<class ContainerAllocator>
00381 struct DataType< ::warehouse::InitiateQueryResponse_<ContainerAllocator> > {
00382 static const char* value()
00383 {
00384 return "warehouse/InitiateQueryResponse";
00385 }
00386
00387 static const char* value(const ::warehouse::InitiateQueryResponse_<ContainerAllocator> &) { return value(); }
00388 };
00389
00390 template<class ContainerAllocator>
00391 struct Definition< ::warehouse::InitiateQueryResponse_<ContainerAllocator> > {
00392 static const char* value()
00393 {
00394 return "\n\
00395 string query_id\n\
00396 \n\
00397 \n\
00398 \n\
00399 \n\
00400 ";
00401 }
00402
00403 static const char* value(const ::warehouse::InitiateQueryResponse_<ContainerAllocator> &) { return value(); }
00404 };
00405
00406 }
00407 }
00408
00409 namespace ros
00410 {
00411 namespace serialization
00412 {
00413
00414 template<class ContainerAllocator> struct Serializer< ::warehouse::InitiateQueryRequest_<ContainerAllocator> >
00415 {
00416 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00417 {
00418 stream.next(m.db_name);
00419 stream.next(m.collection_name);
00420 stream.next(m.query);
00421 stream.next(m.order);
00422 stream.next(m.metadata_only);
00423 }
00424
00425 ROS_DECLARE_ALLINONE_SERIALIZER;
00426 };
00427 }
00428 }
00429
00430
00431 namespace ros
00432 {
00433 namespace serialization
00434 {
00435
00436 template<class ContainerAllocator> struct Serializer< ::warehouse::InitiateQueryResponse_<ContainerAllocator> >
00437 {
00438 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00439 {
00440 stream.next(m.query_id);
00441 }
00442
00443 ROS_DECLARE_ALLINONE_SERIALIZER;
00444 };
00445 }
00446 }
00447
00448 namespace ros
00449 {
00450 namespace service_traits
00451 {
00452 template<>
00453 struct MD5Sum<warehouse::InitiateQuery> {
00454 static const char* value()
00455 {
00456 return "8bd9a1214f9512d68a0e5a3e2876a83b";
00457 }
00458
00459 static const char* value(const warehouse::InitiateQuery&) { return value(); }
00460 };
00461
00462 template<>
00463 struct DataType<warehouse::InitiateQuery> {
00464 static const char* value()
00465 {
00466 return "warehouse/InitiateQuery";
00467 }
00468
00469 static const char* value(const warehouse::InitiateQuery&) { return value(); }
00470 };
00471
00472 template<class ContainerAllocator>
00473 struct MD5Sum<warehouse::InitiateQueryRequest_<ContainerAllocator> > {
00474 static const char* value()
00475 {
00476 return "8bd9a1214f9512d68a0e5a3e2876a83b";
00477 }
00478
00479 static const char* value(const warehouse::InitiateQueryRequest_<ContainerAllocator> &) { return value(); }
00480 };
00481
00482 template<class ContainerAllocator>
00483 struct DataType<warehouse::InitiateQueryRequest_<ContainerAllocator> > {
00484 static const char* value()
00485 {
00486 return "warehouse/InitiateQuery";
00487 }
00488
00489 static const char* value(const warehouse::InitiateQueryRequest_<ContainerAllocator> &) { return value(); }
00490 };
00491
00492 template<class ContainerAllocator>
00493 struct MD5Sum<warehouse::InitiateQueryResponse_<ContainerAllocator> > {
00494 static const char* value()
00495 {
00496 return "8bd9a1214f9512d68a0e5a3e2876a83b";
00497 }
00498
00499 static const char* value(const warehouse::InitiateQueryResponse_<ContainerAllocator> &) { return value(); }
00500 };
00501
00502 template<class ContainerAllocator>
00503 struct DataType<warehouse::InitiateQueryResponse_<ContainerAllocator> > {
00504 static const char* value()
00505 {
00506 return "warehouse/InitiateQuery";
00507 }
00508
00509 static const char* value(const warehouse::InitiateQueryResponse_<ContainerAllocator> &) { return value(); }
00510 };
00511
00512 }
00513 }
00514
00515 #endif // WAREHOUSE_SERVICE_INITIATEQUERY_H
00516