summaryrefslogtreecommitdiff
path: root/cpp/include/qmf/Query.h
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2010-09-21 21:48:41 +0000
committerTed Ross <tross@apache.org>2010-09-21 21:48:41 +0000
commit3cfbdf0e60c94733c0a79e94bdf8627afc6bb2a4 (patch)
treee33d57bca9a2c2275e76f882484ac3ea913e83fd /cpp/include/qmf/Query.h
parent449ab0f1062c0eac0234f84556de60436ba2ee9d (diff)
downloadqpid-python-3cfbdf0e60c94733c0a79e94bdf8627afc6bb2a4.tar.gz
QMFv2 Additions:
- QMFv2 schema encoding completed - Schema queries handled by the agent and initiated by the console by user request - Full query support with predicates evaluated on the agent (regex not yet implemented) - Agent filtering in the console - Agent aging in the console - Unit tests git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@999662 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/include/qmf/Query.h')
-rw-r--r--cpp/include/qmf/Query.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/cpp/include/qmf/Query.h b/cpp/include/qmf/Query.h
index 71ef31b104..fec4660bd7 100644
--- a/cpp/include/qmf/Query.h
+++ b/cpp/include/qmf/Query.h
@@ -36,6 +36,13 @@ namespace qmf {
class SchemaId;
class DataAddr;
+ enum QueryTarget {
+ QUERY_OBJECT = 1,
+ QUERY_OBJECT_ID = 2,
+ QUERY_SCHEMA = 3,
+ QUERY_SCHEMA_ID = 4
+ };
+
class Query : public qmf::Handle<QueryImpl> {
public:
QMF_EXTERN Query(QueryImpl* impl = 0);
@@ -43,20 +50,22 @@ namespace qmf {
QMF_EXTERN Query& operator=(const Query&);
QMF_EXTERN ~Query();
- QMF_EXTERN Query(const std::string& className, const std::string& package="", const std::string& predicate="");
- QMF_EXTERN Query(const SchemaId&);
+ QMF_EXTERN Query(QueryTarget, const std::string& predicate="");
+ QMF_EXTERN Query(QueryTarget, const std::string& className, const std::string& package, const std::string& predicate="");
+ QMF_EXTERN Query(QueryTarget, const SchemaId&, const std::string& predicate="");
QMF_EXTERN Query(const DataAddr&);
+ QMF_EXTERN QueryTarget getTarget() const;
QMF_EXTERN const DataAddr& getDataAddr() const;
QMF_EXTERN const SchemaId& getSchemaId() const;
- QMF_EXTERN const std::string& getClassName() const;
- QMF_EXTERN const std::string& getPackageName() const;
- QMF_EXTERN void addPredicate(const std::string&, const qpid::types::Variant&);
- QMF_EXTERN const qpid::types::Variant::Map& getPredicate() const;
+ QMF_EXTERN void setPredicate(const qpid::types::Variant::List&);
+ QMF_EXTERN const qpid::types::Variant::List& getPredicate() const;
+ QMF_EXTERN bool matchesPredicate(const qpid::types::Variant::Map& map) const;
#ifndef SWIG
private:
friend class qmf::PrivateImplRef<Query>;
+ friend class QueryImplAccess;
#endif
};