File indexing completed on 2024-04-21 03:53:52
0001 /* 0002 SPDX-FileCopyrightText: 2016 Sandro Knauß <sknauss@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDAV_DAVERROR_H 0008 #define KDAV_DAVERROR_H 0009 0010 #include "kdav_export.h" 0011 0012 #include <KJob> 0013 0014 #include <QSharedDataPointer> 0015 #include <QString> 0016 0017 namespace KDAV 0018 { 0019 /** DAV operation error codes. */ 0020 enum ErrorNumber { 0021 NO_ERR = 0, 0022 ERR_PROBLEM_WITH_REQUEST = KJob::UserDefinedError + 200, // it would be better to request KIO about uts UserDefinedError space. 0023 ERR_NO_MULTIGET, 0024 ERR_SERVER_UNRECOVERABLE, 0025 ERR_COLLECTIONDELETE = ERR_PROBLEM_WITH_REQUEST + 10, 0026 ERR_COLLECTIONFETCH = ERR_PROBLEM_WITH_REQUEST + 20, 0027 ERR_COLLECTIONFETCH_XQUERY_SETFOCUS, 0028 ERR_COLLECTIONFETCH_XQUERY_INVALID, 0029 ERR_COLLECTIONMODIFY = ERR_PROBLEM_WITH_REQUEST + 30, 0030 ERR_COLLECTIONMODIFY_NO_PROPERITES, 0031 ERR_COLLECTIONMODIFY_RESPONSE, 0032 ERR_ITEMCREATE = ERR_PROBLEM_WITH_REQUEST + 100, 0033 ERR_ITEMDELETE = ERR_PROBLEM_WITH_REQUEST + 110, 0034 ERR_ITEMMODIFY = ERR_PROBLEM_WITH_REQUEST + 120, 0035 ERR_ITEMLIST = ERR_PROBLEM_WITH_REQUEST + 130, 0036 ERR_ITEMLIST_NOMIMETYPE, 0037 }; 0038 0039 class ErrorPrivate; 0040 0041 /** 0042 * @class Error daverror.h <KDAV/DavError> 0043 * 0044 * DAV operation error. 0045 */ 0046 class KDAV_EXPORT Error 0047 { 0048 public: 0049 explicit Error(); 0050 explicit Error(ErrorNumber errNo, int responseCode, const QString &errorText, int jobErrorCode); 0051 Error(const Error &); 0052 Error(Error &&); 0053 ~Error(); 0054 Error &operator=(const Error &); 0055 Error &operator=(Error &&); 0056 0057 Q_REQUIRED_RESULT ErrorNumber errorNumber() const; 0058 Q_REQUIRED_RESULT int responseCode() const; 0059 Q_REQUIRED_RESULT QString internalErrorText() const; 0060 Q_REQUIRED_RESULT int jobErrorCode() const; 0061 Q_REQUIRED_RESULT QString translatedJobError() const; 0062 Q_REQUIRED_RESULT QString errorText() const; 0063 0064 private: 0065 QSharedDataPointer<ErrorPrivate> d; 0066 }; 0067 } 0068 0069 #endif