1/* 2 * Copyright (C) 2011 Andreas Kling <kling@webkit.org> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public License 15 * along with this program; see the file COPYING.LIB. If not, write to 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 * 19 */ 20 21#ifndef QtWebError_h 22#define QtWebError_h 23 24#include "qwebdownloaditem_p.h" 25#include <QtNetwork/QNetworkReply> 26#include <WKError.h> 27#include <WKRetainPtr.h> 28 29QT_BEGIN_NAMESPACE 30class QUrl; 31QT_END_NAMESPACE 32 33namespace WebKit { 34 35class QtWebError { 36public: 37 enum Type { 38 NoError, 39 InternalError, 40 NetworkError, 41 HttpError, 42 DownloadError 43 }; 44 45 Type type() const; 46 QString url() const; 47 int errorCode() const; 48 QString description() const; 49 bool isCancellation() const; 50 51 int errorCodeAsHttpStatusCode() const { return errorCode(); } 52 QNetworkReply::NetworkError errorCodeAsNetworkError() const { return static_cast<QNetworkReply::NetworkError>(errorCode()); } 53 QWebDownloadItem::DownloadError errorCodeAsDownloadError() const { return static_cast<QWebDownloadItem::DownloadError>(errorCode()); } 54 55 QtWebError(const QtWebError&); 56 57 QtWebError(WKErrorRef); 58 59private: 60 WKRetainPtr<WKErrorRef> error; 61}; 62 63} // namespace WebKit 64 65#endif /* QtWebError_h */ 66