libquentier
0.8.0
The library for rich desktop clients of Evernote service
Toggle main menu visibility
Loading...
Searching...
No Matches
headers
quentier
synchronization
types
IDownloadNotesStatus.h
1
/*
2
* Copyright 2022-2025 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
#pragma once
20
21
#include <quentier/synchronization/types/Errors.h>
22
#include <quentier/synchronization/types/Fwd.h>
23
#include <quentier/utility/Linkage.h>
24
#include <quentier/utility/Printable.h>
25
26
#include <qevercloud/types/Note.h>
27
#include <qevercloud/types/TypeAliases.h>
28
29
#include <QException>
30
#include <QList>
31
32
#include <memory>
33
#include <utility>
34
35
namespace
quentier::synchronization {
36
41
class
QUENTIER_EXPORT
IDownloadNotesStatus
:
public
utility::Printable
42
{
43
public
:
44
using
QExceptionPtr = std::shared_ptr<QException>;
45
using
NoteWithException = std::pair<qevercloud::Note, QExceptionPtr>;
46
using
GuidWithException = std::pair<qevercloud::Guid, QExceptionPtr>;
47
using
UpdateSequenceNumbersByGuid = QHash<qevercloud::Guid, qint32>;
48
49
[[nodiscard]]
virtual
quint64 totalNewNotes()
const
= 0;
50
[[nodiscard]]
virtual
quint64 totalUpdatedNotes()
const
= 0;
51
[[nodiscard]]
virtual
quint64 totalExpungedNotes()
const
= 0;
52
53
[[nodiscard]]
virtual
QList<NoteWithException> notesWhichFailedToDownload()
54
const
= 0;
55
56
[[nodiscard]]
virtual
QList<NoteWithException> notesWhichFailedToProcess()
57
const
= 0;
58
59
[[nodiscard]]
virtual
QList<GuidWithException>
60
noteGuidsWhichFailedToExpunge()
const
= 0;
61
62
[[nodiscard]]
virtual
UpdateSequenceNumbersByGuid
63
processedNoteGuidsAndUsns()
const
= 0;
64
65
[[nodiscard]]
virtual
UpdateSequenceNumbersByGuid
66
cancelledNoteGuidsAndUsns()
const
= 0;
67
68
[[nodiscard]]
virtual
QList<qevercloud::Guid> expungedNoteGuids()
const
= 0;
69
70
[[nodiscard]]
virtual
StopSynchronizationError stopSynchronizationError()
71
const
= 0;
72
};
73
74
}
// namespace quentier::synchronization
quentier::synchronization::IDownloadNotesStatus
The IDownloadNotesStatus interface presents information about the status of notes downloading process...
Definition
IDownloadNotesStatus.h:42
quentier::utility::Printable
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition
Printable.h:38
Generated on
for libquentier by
1.18.0