diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-09 22:17:28 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-05-09 22:17:28 +0200 |
commit | 4999ec5da028e3b11d9c7b7bc0fe25acdf0a8ddd (patch) | |
tree | 804bc7b4d6469245e84c63d32bd8ffcd19a36033 /common/query.h | |
parent | 367d167aa4d19e43669a42c198d941476f340800 (diff) | |
download | sink-4999ec5da028e3b11d9c7b7bc0fe25acdf0a8ddd.tar.gz sink-4999ec5da028e3b11d9c7b7bc0fe25acdf0a8ddd.zip |
Resource factory methods and capability filter.
Diffstat (limited to 'common/query.h')
-rw-r--r-- | common/query.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/common/query.h b/common/query.h index 5c0d5c9..8a420f9 100644 --- a/common/query.h +++ b/common/query.h | |||
@@ -35,7 +35,7 @@ class SINK_EXPORT Query | |||
35 | public: | 35 | public: |
36 | enum Flag | 36 | enum Flag |
37 | { | 37 | { |
38 | /** Leave the query running an contiously update the result set. */ | 38 | /** Leave the query running and continuously update the result set. */ |
39 | LiveQuery | 39 | LiveQuery |
40 | }; | 40 | }; |
41 | Q_DECLARE_FLAGS(Flags, Flag) | 41 | Q_DECLARE_FLAGS(Flags, Flag) |
@@ -43,14 +43,14 @@ public: | |||
43 | static Query PropertyFilter(const QByteArray &key, const QVariant &value) | 43 | static Query PropertyFilter(const QByteArray &key, const QVariant &value) |
44 | { | 44 | { |
45 | Query query; | 45 | Query query; |
46 | query.propertyFilter.insert(key, value); | 46 | query.propertyFilter.insert(key, Comparator(value)); |
47 | return query; | 47 | return query; |
48 | } | 48 | } |
49 | 49 | ||
50 | static Query PropertyContainsFilter(const QByteArray &key, const QVariant &value) | 50 | static Query PropertyContainsFilter(const QByteArray &key, const QVariant &value) |
51 | { | 51 | { |
52 | Query query; | 52 | Query query; |
53 | query.propertyFilter.insert(key, value); | 53 | query.propertyFilter.insert(key, Comparator(value, Comparator::Contains)); |
54 | return query; | 54 | return query; |
55 | } | 55 | } |
56 | 56 | ||
@@ -85,6 +85,13 @@ public: | |||
85 | return query; | 85 | return query; |
86 | } | 86 | } |
87 | 87 | ||
88 | static Query CapabilityFilter(const QByteArray &capability) | ||
89 | { | ||
90 | Query query; | ||
91 | query.propertyFilter.insert("capabilities", Comparator(capability, Comparator::Contains)); | ||
92 | return query; | ||
93 | } | ||
94 | |||
88 | static Query AccountFilter(const QByteArrayList &identifier) | 95 | static Query AccountFilter(const QByteArrayList &identifier) |
89 | { | 96 | { |
90 | Q_ASSERT(!identifier.isEmpty()); | 97 | Q_ASSERT(!identifier.isEmpty()); |
@@ -167,6 +174,7 @@ public: | |||
167 | 174 | ||
168 | Comparator(); | 175 | Comparator(); |
169 | Comparator(const QVariant &v); | 176 | Comparator(const QVariant &v); |
177 | Comparator(const QVariant &v, Comparators c); | ||
170 | bool matches(const QVariant &v) const; | 178 | bool matches(const QVariant &v) const; |
171 | 179 | ||
172 | QVariant value; | 180 | QVariant value; |