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 /** DAV operation error codes. */ 20 enum ErrorNumber { 21 NO_ERR = 0, 22 ERR_PROBLEM_WITH_REQUEST = KJob::UserDefinedError + 200, // it would be better to request KIO about uts UserDefinedError space. 23 ERR_NO_MULTIGET, 24 ERR_SERVER_UNRECOVERABLE, 25 ERR_COLLECTIONDELETE = ERR_PROBLEM_WITH_REQUEST + 10, 26 ERR_COLLECTIONFETCH = ERR_PROBLEM_WITH_REQUEST + 20, 27 ERR_COLLECTIONFETCH_XQUERY_SETFOCUS, 28 ERR_COLLECTIONFETCH_XQUERY_INVALID, 29 ERR_COLLECTIONMODIFY = ERR_PROBLEM_WITH_REQUEST + 30, 30 ERR_COLLECTIONMODIFY_NO_PROPERITES, 31 ERR_COLLECTIONMODIFY_RESPONSE, 32 ERR_ITEMCREATE = ERR_PROBLEM_WITH_REQUEST + 100, 33 ERR_ITEMDELETE = ERR_PROBLEM_WITH_REQUEST + 110, 34 ERR_ITEMMODIFY = ERR_PROBLEM_WITH_REQUEST + 120, 35 ERR_ITEMLIST = ERR_PROBLEM_WITH_REQUEST + 130, 36 ERR_ITEMLIST_NOMIMETYPE, 37 }; 38 39 class ErrorPrivate; 40 41 /** 42 * @class Error daverror.h <KDAV/DavError> 43 * 44 * DAV operation error. 45 */ 46 class KDAV_EXPORT Error 47 { 48 public: 49 explicit Error(); 50 explicit Error(ErrorNumber errNo, int responseCode, const QString &errorText, int jobErrorCode); 51 Error(const Error &); 52 Error(Error &&); 53 ~Error(); 54 Error &operator=(const Error &); 55 Error &operator=(Error &&); 56 57 Q_REQUIRED_RESULT ErrorNumber errorNumber() const; 58 Q_REQUIRED_RESULT int responseCode() const; 59 Q_REQUIRED_RESULT QString internalErrorText() const; 60 Q_REQUIRED_RESULT int jobErrorCode() const; 61 Q_REQUIRED_RESULT QString translatedJobError() const; 62 Q_REQUIRED_RESULT QString errorText() const; 63 64 private: 65 QSharedDataPointer<ErrorPrivate> d; 66 }; 67 } 68 69 #endif 70