diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-11-06 10:12:24 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-11-06 10:12:24 +0100 |
commit | e511841292d241fb9175a712184900ae69ed8685 (patch) | |
tree | 0fea577b192a61e64618049a9e7306c7a1d5177e /common/query.h | |
parent | c04755a772cbc6b2cf3a80e9c3c17b718e153c55 (diff) | |
download | sink-e511841292d241fb9175a712184900ae69ed8685.tar.gz sink-e511841292d241fb9175a712184900ae69ed8685.zip |
Query serialization.
Diffstat (limited to 'common/query.h')
-rw-r--r-- | common/query.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/common/query.h b/common/query.h index b858610..70b6d63 100644 --- a/common/query.h +++ b/common/query.h | |||
@@ -42,6 +42,7 @@ public: | |||
42 | Comparator(const QVariant &v); | 42 | Comparator(const QVariant &v); |
43 | Comparator(const QVariant &v, Comparators c); | 43 | Comparator(const QVariant &v, Comparators c); |
44 | bool matches(const QVariant &v) const; | 44 | bool matches(const QVariant &v) const; |
45 | bool operator==(const Comparator &other) const; | ||
45 | 46 | ||
46 | QVariant value; | 47 | QVariant value; |
47 | Comparators comparator; | 48 | Comparators comparator; |
@@ -51,8 +52,11 @@ public: | |||
51 | public: | 52 | public: |
52 | QByteArrayList ids; | 53 | QByteArrayList ids; |
53 | QHash<QByteArray, Comparator> propertyFilter; | 54 | QHash<QByteArray, Comparator> propertyFilter; |
55 | bool operator==(const Filter &other) const; | ||
54 | }; | 56 | }; |
55 | 57 | ||
58 | bool operator==(const QueryBase &other) const; | ||
59 | |||
56 | Comparator getFilter(const QByteArray &property) const | 60 | Comparator getFilter(const QByteArray &property) const |
57 | { | 61 | { |
58 | return mBaseFilterStage.propertyFilter.value(property); | 62 | return mBaseFilterStage.propertyFilter.value(property); |
@@ -68,6 +72,11 @@ public: | |||
68 | mBaseFilterStage.propertyFilter = filter; | 72 | mBaseFilterStage.propertyFilter = filter; |
69 | } | 73 | } |
70 | 74 | ||
75 | void setFilter(const Filter &filter) | ||
76 | { | ||
77 | mBaseFilterStage = filter; | ||
78 | } | ||
79 | |||
71 | QHash<QByteArray, Comparator> getBaseFilters() const | 80 | QHash<QByteArray, Comparator> getBaseFilters() const |
72 | { | 81 | { |
73 | return mBaseFilterStage.propertyFilter; | 82 | return mBaseFilterStage.propertyFilter; |
@@ -110,12 +119,12 @@ public: | |||
110 | 119 | ||
111 | void setSortProperty(const QByteArray &property) | 120 | void setSortProperty(const QByteArray &property) |
112 | { | 121 | { |
113 | mSortPorperty = property; | 122 | mSortProperty = property; |
114 | } | 123 | } |
115 | 124 | ||
116 | QByteArray sortProperty() const | 125 | QByteArray sortProperty() const |
117 | { | 126 | { |
118 | return mSortPorperty; | 127 | return mSortProperty; |
119 | } | 128 | } |
120 | 129 | ||
121 | class FilterStage { | 130 | class FilterStage { |
@@ -244,7 +253,7 @@ private: | |||
244 | Filter mBaseFilterStage; | 253 | Filter mBaseFilterStage; |
245 | QList<QSharedPointer<FilterStage>> mFilterStages; | 254 | QList<QSharedPointer<FilterStage>> mFilterStages; |
246 | QByteArray mType; | 255 | QByteArray mType; |
247 | QByteArray mSortPorperty; | 256 | QByteArray mSortProperty; |
248 | }; | 257 | }; |
249 | 258 | ||
250 | /** | 259 | /** |
@@ -458,7 +467,10 @@ private: | |||
458 | 467 | ||
459 | } | 468 | } |
460 | 469 | ||
461 | QDebug operator<<(QDebug dbg, const Sink::Query::Comparator &c); | 470 | QDebug SINK_EXPORT operator<<(QDebug dbg, const Sink::Query::Comparator &c); |
471 | QDataStream & SINK_EXPORT operator<< (QDataStream &stream, const Sink::QueryBase &query); | ||
472 | QDataStream & SINK_EXPORT operator>> (QDataStream &stream, Sink::QueryBase &query); | ||
462 | 473 | ||
463 | Q_DECLARE_OPERATORS_FOR_FLAGS(Sink::Query::Flags) | 474 | Q_DECLARE_OPERATORS_FOR_FLAGS(Sink::Query::Flags) |
475 | Q_DECLARE_METATYPE(Sink::QueryBase); | ||
464 | Q_DECLARE_METATYPE(Sink::Query); | 476 | Q_DECLARE_METATYPE(Sink::Query); |