1 | /* |
2 | SPDX-FileCopyrightText: 2016 Sandro Knauß <sknauss@kde.org> |
3 | |
4 | SPDX-License-Identifier: LGPL-2.0-or-later |
5 | */ |
6 | |
7 | #ifndef KDAV_DAVERROR_H |
8 | #define KDAV_DAVERROR_H |
9 | |
10 | #include "kdav_export.h" |
11 | |
12 | #include <KJob> |
13 | |
14 | #include <QSharedDataPointer> |
15 | #include <QString> |
16 | |
17 | namespace KDAV |
18 | { |
19 | /*! |
20 | * DAV operation error codes. |
21 | * \value NO_ERR |
22 | * \value ERR_PROBLEM_WITH_REQUEST |
23 | * \value ERR_NO_MULTIGET |
24 | * \value ERR_SERVER_UNRECOVERABLE |
25 | * \value ERR_COLLECTIONDELETE |
26 | * \value ERR_COLLECTIONFETCH |
27 | * \value ERR_COLLECTIONFETCH_XQUERY_SETFOCUS |
28 | * \value ERR_COLLECTIONFETCH_XQUERY_INVALID |
29 | * \value ERR_COLLECTIONMODIFY |
30 | * \value ERR_COLLECTIONMODIFY_NO_PROPERITES |
31 | * \value ERR_COLLECTIONMODIFY_RESPONSE |
32 | * \value ERR_ITEMCREATE |
33 | * \value ERR_ITEMDELETE |
34 | * \value ERR_ITEMMODIFY |
35 | * \value ERR_ITEMLIST |
36 | * \value ERR_ITEMLIST_NOMIMETYPE |
37 | */ |
38 | enum ErrorNumber { |
39 | NO_ERR = 0, |
40 | ERR_PROBLEM_WITH_REQUEST = KJob::UserDefinedError + 200, // it would be better to request KIO about uts UserDefinedError space. |
41 | ERR_NO_MULTIGET, |
42 | ERR_SERVER_UNRECOVERABLE, |
43 | ERR_COLLECTIONDELETE = ERR_PROBLEM_WITH_REQUEST + 10, |
44 | ERR_COLLECTIONFETCH = ERR_PROBLEM_WITH_REQUEST + 20, |
45 | ERR_COLLECTIONFETCH_XQUERY_SETFOCUS, |
46 | ERR_COLLECTIONFETCH_XQUERY_INVALID, |
47 | ERR_COLLECTIONMODIFY = ERR_PROBLEM_WITH_REQUEST + 30, |
48 | ERR_COLLECTIONMODIFY_NO_PROPERITES, |
49 | ERR_COLLECTIONMODIFY_RESPONSE, |
50 | ERR_ITEMCREATE = ERR_PROBLEM_WITH_REQUEST + 100, |
51 | ERR_ITEMDELETE = ERR_PROBLEM_WITH_REQUEST + 110, |
52 | ERR_ITEMMODIFY = ERR_PROBLEM_WITH_REQUEST + 120, |
53 | ERR_ITEMLIST = ERR_PROBLEM_WITH_REQUEST + 130, |
54 | ERR_ITEMLIST_NOMIMETYPE, |
55 | }; |
56 | |
57 | class ErrorPrivate; |
58 | |
59 | /*! |
60 | * \class KDAV::Error |
61 | * \inheaderfile KDAV/DavError |
62 | * \inmodule KDAV |
63 | * |
64 | * \brief DAV operation error. |
65 | */ |
66 | class KDAV_EXPORT Error |
67 | { |
68 | public: |
69 | /*! |
70 | * |
71 | */ |
72 | explicit Error(); |
73 | |
74 | /*! |
75 | * |
76 | */ |
77 | explicit Error(ErrorNumber errNo, int responseCode, const QString &errorText, int jobErrorCode); |
78 | Error(const Error &); |
79 | Error(Error &&); |
80 | ~Error(); |
81 | Error &operator=(const Error &); |
82 | Error &operator=(Error &&); |
83 | |
84 | /*! |
85 | * |
86 | */ |
87 | Q_REQUIRED_RESULT ErrorNumber errorNumber() const; |
88 | |
89 | /*! |
90 | * |
91 | */ |
92 | Q_REQUIRED_RESULT int responseCode() const; |
93 | |
94 | /*! |
95 | * |
96 | */ |
97 | Q_REQUIRED_RESULT QString internalErrorText() const; |
98 | |
99 | /*! |
100 | * |
101 | */ |
102 | Q_REQUIRED_RESULT int jobErrorCode() const; |
103 | |
104 | /*! |
105 | * |
106 | */ |
107 | Q_REQUIRED_RESULT QString translatedJobError() const; |
108 | |
109 | /*! |
110 | * |
111 | */ |
112 | Q_REQUIRED_RESULT QString errorText() const; |
113 | |
114 | private: |
115 | QSharedDataPointer<ErrorPrivate> d; |
116 | }; |
117 | } |
118 | |
119 | #endif |
120 | |