Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00039 #ifndef WAREHOUSE_ROS_METADATA_H
00040 #define WAREHOUSE_ROS_METADATA_H
00041
00042 #include <ros/ros.h>
00043 #include <boost/shared_ptr.hpp>
00044 #include <set>
00045
00046 namespace warehouse_ros
00047 {
00048
00053 class Query
00054 {
00055 public:
00056 typedef boost::shared_ptr<Query> Ptr;
00057 typedef boost::shared_ptr<const Query> ConstPtr;
00058
00059 virtual ~Query()
00060 {
00061 }
00062 virtual void append(const std::string& name, const std::string& val) = 0;
00063 virtual void append(const std::string& name, const double val) = 0;
00064 virtual void append(const std::string& name, const int val) = 0;
00065 virtual void append(const std::string& name, const bool val) = 0;
00066 virtual void appendLT(const std::string& name, const double val) = 0;
00067 virtual void appendLT(const std::string& name, const int val) = 0;
00068 virtual void appendLTE(const std::string& name, const double val) = 0;
00069 virtual void appendLTE(const std::string& name, const int val) = 0;
00070 virtual void appendGT(const std::string& name, const double val) = 0;
00071 virtual void appendGT(const std::string& name, const int val) = 0;
00072 virtual void appendGTE(const std::string& name, const double val) = 0;
00073 virtual void appendGTE(const std::string& name, const int val) = 0;
00074 virtual void appendRange(const std::string& name, const double lower, const double upper) = 0;
00075 virtual void appendRange(const std::string& name, const int lower, const int upper) = 0;
00076 virtual void appendRangeInclusive(const std::string& name, const double lower, const double upper) = 0;
00077 virtual void appendRangeInclusive(const std::string& name, const int lower, const int upper) = 0;
00078 };
00079
00084 class Metadata
00085 {
00086 public:
00087 typedef boost::shared_ptr<Metadata> Ptr;
00088 typedef boost::shared_ptr<const Metadata> ConstPtr;
00089
00090 virtual ~Metadata()
00091 {
00092 }
00093 virtual void append(const std::string& name, const std::string& val) = 0;
00094 virtual void append(const std::string& name, const double val) = 0;
00095 virtual void append(const std::string& name, const int val) = 0;
00096 virtual void append(const std::string& name, const bool val) = 0;
00097 virtual std::string lookupString(const std::string& name) const = 0;
00098 virtual double lookupDouble(const std::string& name) const = 0;
00099 virtual int lookupInt(const std::string& name) const = 0;
00100 virtual bool lookupBool(const std::string& name) const = 0;
00101 virtual bool lookupField(const std::string& name) const = 0;
00102 virtual std::set<std::string> lookupFieldNames() const = 0;
00103 };
00104
00105 }
00106
00107 #endif // include guard