diff options
| author | Ted Ross <tross@apache.org> | 2010-09-21 21:48:41 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2010-09-21 21:48:41 +0000 |
| commit | 3cfbdf0e60c94733c0a79e94bdf8627afc6bb2a4 (patch) | |
| tree | e33d57bca9a2c2275e76f882484ac3ea913e83fd /cpp/include/qmf/Query.h | |
| parent | 449ab0f1062c0eac0234f84556de60436ba2ee9d (diff) | |
| download | qpid-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.h | 21 |
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 }; |
