libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
utility
EventLoopWithExitStatus.h
1
/*
2
* Copyright 2016-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/types/ErrorString.h>
22
#include <quentier/utility/Linkage.h>
23
24
#include <QEventLoop>
25
26
class
QDebug;
27
class
QTextStream;
28
29
namespace
quentier {
30
31
class
QUENTIER_EXPORT
EventLoopWithExitStatus
:
public
QEventLoop
32
{
33
Q_OBJECT
34
public
:
35
explicit
EventLoopWithExitStatus
(QObject *
parent
=
nullptr
);
36
37
enum class
ExitStatus
38
{
39
Success,
40
Failure,
41
Timeout
42
};
43
44
friend
QDebug
&
operator<<
(
QDebug
&
dbg
, ExitStatus
status
);
45
friend
QTextStream
&
operator<<
(
QTextStream
&
strm
, ExitStatus
status
);
46
47
[[
nodiscard
]] ExitStatus exitStatus()
const
;
48
[[
nodiscard
]]
const
ErrorString
& errorDescription()
const
;
49
50
public
Q_SLOTS
:
51
void
exitAsSuccess();
52
void
exitAsFailure();
53
void
exitAsFailureWithError(
QString
errorDescription);
54
void
exitAsFailureWithErrorString(
ErrorString
errorDescription);
55
void
exitAsTimeout();
56
57
private
:
58
ExitStatus m_exitStatus;
59
ErrorString
m_errorDescription;
60
};
61
62
}
// namespace quentier
quentier::ErrorString
The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition
ErrorString.h:43
quentier::EventLoopWithExitStatus
Definition
EventLoopWithExitStatus.h:32
quentier::Result
The Result template class represents the bare bones result monad implementation which either contains...
Definition
Result.h:38
Generated on Sun Jan 26 2025 16:05:44 for libquentier by
1.9.8