summaryrefslogtreecommitdiffstats
path: root/common/query.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-09-27 11:25:49 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-09-27 11:25:49 +0200
commit577c2c344079c1a87d3d93be5f957e5f2d935bff (patch)
treed158857f9a832649e1c0b498b768a30d614fc613 /common/query.h
parentfd532607ef29aac49b52c861e5aecda6dfa19e82 (diff)
downloadsink-577c2c344079c1a87d3d93be5f957e5f2d935bff.tar.gz
sink-577c2c344079c1a87d3d93be5f957e5f2d935bff.zip
Don't access the propertyFilter list directly.
Diffstat (limited to 'common/query.h')
-rw-r--r--common/query.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/common/query.h b/common/query.h
index 3021fe2..0c6260b 100644
--- a/common/query.h
+++ b/common/query.h
@@ -235,22 +235,40 @@ public:
235 template <typename T> 235 template <typename T>
236 Query &filter(const QVariant &value) 236 Query &filter(const QVariant &value)
237 { 237 {
238 propertyFilter.insert(T::name, value); 238 return filter(T::name, value);
239 return *this;
240 } 239 }
241 240
242 template <typename T> 241 template <typename T>
243 Query &filter(const Comparator &comparator) 242 Query &filter(const Comparator &comparator)
244 { 243 {
245 propertyFilter.insert(T::name, comparator); 244 return filter(T::name, comparator);
245 }
246
247 Query &filter(const QByteArray &property, const Comparator &comparator)
248 {
249 propertyFilter.insert(property, comparator);
246 return *this; 250 return *this;
247 } 251 }
248 252
253 Comparator getFilter(const QByteArray &property) const
254 {
255 return propertyFilter.value(property);
256 }
257
258 bool hasFilter(const QByteArray &property) const
259 {
260 return propertyFilter.contains(property);
261 }
262
263 QHash<QByteArray, Comparator> getBaseFilters() const
264 {
265 return propertyFilter;
266 }
267
249 template <typename T> 268 template <typename T>
250 Query &filter(const ApplicationDomain::Entity &value) 269 Query &filter(const ApplicationDomain::Entity &value)
251 { 270 {
252 propertyFilter.insert(T::name, QVariant::fromValue(value.identifier())); 271 return filter(T::name, QVariant::fromValue(value.identifier()));
253 return *this;
254 } 272 }
255 273
256 Query &filter(const ApplicationDomain::SinkResource &resource) 274 Query &filter(const ApplicationDomain::SinkResource &resource)