Akonadi

aggregatedfetchscope.h
1 /*
2  SPDX-FileCopyrightText: 2017 Daniel Vrátil <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #ifndef AKONADI_AGGREGATED_FETCHSCOPE_H_
8 #define AKONADI_AGGREGATED_FETCHSCOPE_H_
9 
10 #include <QSet>
11 
12 #include <private/protocol_p.h>
13 
14 class QByteArray;
15 
16 namespace Akonadi {
17 namespace Server {
18 
19 class AggregatedCollectionFetchScopePrivate;
20 class AggregatedCollectionFetchScope
21 {
22 public:
23  explicit AggregatedCollectionFetchScope();
24  ~AggregatedCollectionFetchScope();
25 
26  void apply(const Protocol::CollectionFetchScope &oldScope,
27  const Protocol::CollectionFetchScope &newScope);
28 
29  QSet<QByteArray> attributes() const;
30 
31  bool fetchIdOnly() const;
32  bool fetchStatistics() const;
33 
34  void addSubscriber();
35  void removeSubscriber();
36 
37 private:
38  AggregatedCollectionFetchScopePrivate * const d_ptr;
39  Q_DECLARE_PRIVATE(AggregatedCollectionFetchScope)
40 };
41 
42 class AggregatedItemFetchScopePrivate;
43 class AggregatedItemFetchScope
44 {
45 public:
46  explicit AggregatedItemFetchScope();
47  ~AggregatedItemFetchScope();
48 
49  void apply(const Protocol::ItemFetchScope &oldScope,
50  const Protocol::ItemFetchScope &newScope);
51  Protocol::ItemFetchScope toFetchScope() const;
52 
53  QSet<QByteArray> requestedParts() const;
54 
55  Protocol::ItemFetchScope::AncestorDepth ancestorDepth() const;
56  void updateAncestorDepth(Protocol::ItemFetchScope::AncestorDepth oldDepth,
57  Protocol::ItemFetchScope::AncestorDepth newDepth);
58 
59  bool cacheOnly() const;
60  bool fullPayload() const;
61  bool allAttributes() const;
62  bool fetchSize() const;
63  bool fetchMTime() const;
64  bool fetchRemoteRevision() const;
65  bool ignoreErrors() const;
66  bool fetchFlags() const;
67  bool fetchRemoteId() const;
68  bool fetchGID() const;
69  bool fetchTags() const;
70  bool fetchRelations() const;
71  bool fetchVirtualReferences() const;
72 
73  void addSubscriber();
74  void removeSubscriber();
75 
76 private:
77  AggregatedItemFetchScopePrivate * const d_ptr;
78  Q_DECLARE_PRIVATE(AggregatedItemFetchScope)
79 };
80 
81 
82 class AggregatedTagFetchScopePrivate;
83 class AggregatedTagFetchScope
84 {
85 public:
86  explicit AggregatedTagFetchScope();
87  ~AggregatedTagFetchScope();
88 
89  void apply(const Protocol::TagFetchScope &oldScope,
90  const Protocol::TagFetchScope &newScope);
91  Protocol::TagFetchScope toFetchScope() const;
92 
93  QSet<QByteArray> attributes() const;
94 
95  void addSubscriber();
96  void removeSubscriber();
97 
98  bool fetchIdOnly() const;
99  bool fetchRemoteId() const;
100  bool fetchAllAttributes() const;
101 
102 private:
103  AggregatedTagFetchScopePrivate * const d_ptr;
104  Q_DECLARE_PRIVATE(AggregatedTagFetchScope)
105 };
106 
107 } // namespace Server
108 } // namespace Akonadi
109 
110 #endif
Helper integration between Akonadi and Qt.
KGuiItem apply()
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Jul 12 2020 23:16:55 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.