summaryrefslogtreecommitdiffstats
path: root/common/query.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-11-11 13:06:27 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-11-11 15:26:32 +0100
commit4e6b3ce7d1ce97c3e1fb9ae53c5b2be1787acc6b (patch)
tree08d80bbe1cc890f949110a760cba18e8f2b5249b /common/query.h
parente5bec3abfe2f2463244d65386dbd1088bf56f5f3 (diff)
downloadsink-4e6b3ce7d1ce97c3e1fb9ae53c5b2be1787acc6b.tar.gz
sink-4e6b3ce7d1ce97c3e1fb9ae53c5b2be1787acc6b.zip
Prepared new query based synchronization API
Diffstat (limited to 'common/query.h')
-rw-r--r--common/query.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/common/query.h b/common/query.h
index 925b014..aa2d643 100644
--- a/common/query.h
+++ b/common/query.h
@@ -55,6 +55,9 @@ public:
55 bool operator==(const Filter &other) const; 55 bool operator==(const Filter &other) const;
56 }; 56 };
57 57
58 QueryBase() = default;
59 QueryBase(const QByteArray &type) : mType(type) {}
60
58 bool operator==(const QueryBase &other) const; 61 bool operator==(const QueryBase &other) const;
59 62
60 Comparator getFilter(const QByteArray &property) const 63 Comparator getFilter(const QByteArray &property) const
@@ -62,11 +65,23 @@ public:
62 return mBaseFilterStage.propertyFilter.value(property); 65 return mBaseFilterStage.propertyFilter.value(property);
63 } 66 }
64 67
68 template <class T>
69 Comparator getFilter() const
70 {
71 return getFilter(T::name);
72 }
73
65 bool hasFilter(const QByteArray &property) const 74 bool hasFilter(const QByteArray &property) const
66 { 75 {
67 return mBaseFilterStage.propertyFilter.contains(property); 76 return mBaseFilterStage.propertyFilter.contains(property);
68 } 77 }
69 78
79 template <class T>
80 bool hasFilter() const
81 {
82 return hasFilter(T::name);
83 }
84
70 void setBaseFilters(const QHash<QByteArray, Comparator> &filter) 85 void setBaseFilters(const QHash<QByteArray, Comparator> &filter)
71 { 86 {
72 mBaseFilterStage.propertyFilter = filter; 87 mBaseFilterStage.propertyFilter = filter;