libquentier  0.8.0
The library for rich desktop clients of Evernote service
Errors.h
1 /*
2  * Copyright 2022-2024 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/utility/Linkage.h>
22 
23 #include <QtGlobal>
24 
25 #include <optional>
26 #include <variant>
27 
28 namespace quentier::synchronization {
29 
36 struct QUENTIER_EXPORT RateLimitReachedError
37 {
44  std::optional<qint32> rateLimitDurationSec;
45 };
46 
47 [[nodiscard]] QUENTIER_EXPORT bool operator==(
48  const RateLimitReachedError & lhs,
49  const RateLimitReachedError & rhs) noexcept;
50 
51 [[nodiscard]] QUENTIER_EXPORT bool operator!=(
52  const RateLimitReachedError & lhs,
53  const RateLimitReachedError & rhs) noexcept;
54 
60 struct QUENTIER_EXPORT AuthenticationExpiredError
61 {};
62 
63 [[nodiscard]] QUENTIER_EXPORT bool operator==(
64  const AuthenticationExpiredError & lhs,
65  const AuthenticationExpiredError & rhs) noexcept;
66 
67 [[nodiscard]] QUENTIER_EXPORT bool operator!=(
68  const AuthenticationExpiredError & lhs,
69  const AuthenticationExpiredError & rhs) noexcept;
70 
76 using StopSynchronizationError = std::variant<
78 
79 } // namespace quentier::synchronization
Definition: synchronization/Factory.h:35
std::optional< qint32 > rateLimitDurationSec
Definition: Errors.h:44