Quark  0.1
GDriveFileQuery.h++
Go to the documentation of this file.
1 #ifndef __libquark_gdrive_GDriveFileQuery_hxx
2 #define __libquark_gdrive_GDriveFileQuery_hxx
3 
4 #include <QDateTime>
5 #include <QList>
6 #include <QString>
7 #include <QVariant>
8 
9 namespace quark {
10 namespace gdrive {
11 
13  public:
14 
17 
30 
31  GDriveFileQueryBuilder& containing(const QString &value);
32  GDriveFileQueryBuilder& equalTo(const QString &value);
33  GDriveFileQueryBuilder& equalTo(bool value);
34  GDriveFileQueryBuilder& equalTo(const QDateTime &value);
35  GDriveFileQueryBuilder& notEqualTo(const QString &value);
37  GDriveFileQueryBuilder& greaterThan(const QDateTime &value);
38  GDriveFileQueryBuilder& greaterThanOrEqualTo(const QDateTime &value);
39  GDriveFileQueryBuilder& lessThan(const QDateTime &value);
40  GDriveFileQueryBuilder& lessThanOrEqualTo(const QDateTime &value);
41 
43 
44  QString build();
45 
46  private:
47 
48  void flushPredicate();
49  QString escapeString(const QString &string) const;
50  QString formatDate(const QDateTime &date) const;
51 
52  enum Field { FIELD_NONE = 0, FIELD_TITLE, FIELD_FULL_TEXT, FIELD_MIME_TYPE,
53  FIELD_MODIFIED_DATE, FIELD_LAST_VIEWED_BY_ME_DATE,
54  FIELD_TRASHED, FIELD_STARRED, FIELD_HIDDEN, FIELD_PARENTS,
55  FIELD_OWNERS, FIELD_WRITERS, FIELD_READERS };
56 
57  enum Operator { OP_NONE = 0, OP_CONTAINS, OP_EQUAL, OP_NOT_EQUAL,
58  OP_LESS_THAN, OP_LESS_THAN_OR_EQUAL,
59  OP_GREATER_THAN, OP_GREATER_THAN_OR_EQUAL, OP_IN };
60 
61  struct Predicate
62  {
63  Predicate(Field field, Operator oper, QVariant value, bool negated)
64  : field(field), oper(oper), value(value), negated(negated)
65  { }
66 
67  Field field;
68  Operator oper;
69  QVariant value;
70  bool negated;
71  };
72 
73  QList<Predicate> _predicates;
74  Field _field;
75  Operator _operator;
76  QVariant _value;
77  bool _negated;
78 };
79 
80 } // namespace gdrive
81 } // namespace quark
82 
83 #endif // __libquark_gdrive_GDriveFileQuery_hxx
GDriveFileQueryBuilder & writers()
GDriveFileQueryBuilder & lessThanOrEqualTo(const QDateTime &value)
GDriveFileQueryBuilder & equalTo(const QString &value)
GDriveFileQueryBuilder & notEqualTo(const QString &value)
GDriveFileQueryBuilder & readers()
GDriveFileQueryBuilder & parents()
GDriveFileQueryBuilder & mimeType()
GDriveFileQueryBuilder & greaterThanOrEqualTo(const QDateTime &value)
GDriveFileQueryBuilder & title()
GDriveFileQueryBuilder & greaterThan(const QDateTime &value)
Definition: BarChartView.h++:6
GDriveFileQueryBuilder & containing(const QString &value)
GDriveFileQueryBuilder & negated()
GDriveFileQueryBuilder & fullText()
GDriveFileQueryBuilder & trashed()
GDriveFileQueryBuilder & lessThan(const QDateTime &value)
GDriveFileQueryBuilder & modifiedDate()
GDriveFileQueryBuilder & starred()
GDriveFileQueryBuilder & lastViewedByMeDate()
GDriveFileQueryBuilder & owners()
Definition: GDriveFileQuery.h++:12
GDriveFileQueryBuilder & hidden()