libquentier  0.5.0
The library for rich desktop clients of Evernote service
ISyncChunksDataCounters.h
1 /*
2  * Copyright 2021 Dmitry Ivanov
3  *
4  * This file is part of libquentier
5  *
6  * libquentier is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, version 3 of the License.
9  *
10  * libquentier is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_CHUNKS_DATA_COUNTERS_H
20 #define LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_CHUNKS_DATA_COUNTERS_H
21 
22 #include <quentier/utility/Linkage.h>
23 #include <quentier/utility/Printable.h>
24 
25 #include <QtGlobal>
26 
27 namespace quentier {
28 
34 struct QUENTIER_EXPORT ISyncChunksDataCounters : public Printable
35 {
36  // ================= Saved searches =================
37 
41  virtual quint64 totalSavedSearches() const noexcept = 0;
42 
46  virtual quint64 totalExpungedSavedSearches() const noexcept = 0;
47 
52  virtual quint64 addedSavedSearches() const noexcept = 0;
53 
58  virtual quint64 updatedSavedSearches() const noexcept = 0;
59 
64  virtual quint64 expungedSavedSearches() const noexcept = 0;
65 
66  // ================= Tags =================
67 
71  virtual quint64 totalTags() const noexcept = 0;
72 
76  virtual quint64 totalExpungedTags() const noexcept = 0;
77 
81  virtual quint64 addedTags() const noexcept = 0;
82 
86  virtual quint64 updatedTags() const noexcept = 0;
87 
91  virtual quint64 expungedTags() const noexcept = 0;
92 
93  // ================= Linked notebooks =================
94 
98  virtual quint64 totalLinkedNotebooks() const noexcept = 0;
99 
103  virtual quint64 totalExpungedLinkedNotebooks() const noexcept = 0;
104 
109  virtual quint64 addedLinkedNotebooks() const noexcept = 0;
110 
115  virtual quint64 updatedLinkedNotebooks() const noexcept = 0;
116 
121  virtual quint64 expungedLinkedNotebooks() const noexcept = 0;
122 
123  // ================= Notebooks =================
124 
128  virtual quint64 totalNotebooks() const noexcept = 0;
129 
133  virtual quint64 totalExpungedNotebooks() const noexcept = 0;
134 
138  virtual quint64 addedNotebooks() const noexcept = 0;
139 
143  virtual quint64 updatedNotebooks() const noexcept = 0;
144 
149  virtual quint64 expungedNotebooks() const noexcept = 0;
150 };
151 
152 } // namespace quentier
153 
154 #endif // LIB_QUENTIER_SYNCHRONIZATION_I_SYNC_CHUNKS_DATA_COUNTERS_H
Definition: DecryptedTextManager.h:26
The Printable class is the interface for Quentier&#39;s internal classes which should be able to write th...
Definition: Printable.h:37
The ISyncChunksDataCounters interface provides integer counters representing the current progress on ...
Definition: ISyncChunksDataCounters.h:34