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
17namespace 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 */
38enum 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
57class ErrorPrivate;
58
59/*!
60 * \class KDAV::Error
61 * \inheaderfile KDAV/DavError
62 * \inmodule KDAV
63 *
64 * \brief DAV operation error.
65 */
66class KDAV_EXPORT Error
67{
68public:
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
114private:
115 QSharedDataPointer<ErrorPrivate> d;
116};
117}
118
119#endif
120

source code of kdav/src/common/daverror.h