--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/qt/Api/qwebnetworkinterface.h Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,153 @@
+/*
+ Copyright (C) 2007 Trolltech ASA
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+ This class provides all functionality needed for loading images, style sheets and html
+ pages from the web. It has a memory cache for these objects.
+*/
+#ifndef QWEBNETWORKINTERFACE_H
+#define QWEBNETWORKINTERFACE_H
+
+#include <qobject.h>
+#include <qurl.h>
+#include <qhttp.h>
+#include <qbytearray.h>
+
+#include <qwebkitglobal.h>
+
+class QAuthenticator;
+class QNetworkProxy;
+class QSslError;
+class QWebFrame;
+class QWebNetworkJobPrivate;
+class QWebNetworkInterface;
+class QWebObjectPluginConnector;
+
+namespace WebCore {
+ class WebCoreHttp;
+ class ResourceRequest;
+ class FrameLoaderClientQt;
+}
+
+struct QWebNetworkRequestPrivate;
+class QWEBKIT_EXPORT QWebNetworkRequest
+{
+public:
+ enum Method {
+ Get,
+ Post
+ //Head
+ };
+
+ QWebNetworkRequest();
+ explicit QWebNetworkRequest(const QUrl &url, Method method = Get, const QByteArray &postData = QByteArray());
+ QWebNetworkRequest(const QWebNetworkRequest &other);
+
+ QWebNetworkRequest &operator=(const QWebNetworkRequest &other);
+ ~QWebNetworkRequest();
+
+ QUrl url() const;
+ void setUrl(const QUrl &url);
+
+ QHttpRequestHeader httpHeader() const;
+ void setHttpHeader(const QHttpRequestHeader &header) const;
+
+ QString httpHeaderField(const QString &key) const;
+ void setHttpHeaderField(const QString &key, const QString &value);
+
+ QByteArray postData() const;
+ void setPostData(const QByteArray &data);
+
+private:
+ explicit QWebNetworkRequest(const QWebNetworkRequestPrivate &priv);
+ explicit QWebNetworkRequest(const WebCore::ResourceRequest &request);
+ friend class QWebNetworkJob;
+ friend class WebCore::FrameLoaderClientQt;
+
+ QWebNetworkRequestPrivate *d;
+ friend class QWebObjectPluginConnector;
+};
+
+class QWEBKIT_EXPORT QWebNetworkJob
+{
+public:
+ QUrl url() const;
+ QByteArray postData() const;
+ QHttpRequestHeader httpHeader() const;
+ QWebNetworkRequest request() const;
+
+ QHttpResponseHeader response() const;
+ void setResponse(const QHttpResponseHeader &response);
+
+ bool cancelled() const;
+
+ void ref();
+ bool deref();
+
+ QWebNetworkInterface *networkInterface() const;
+
+ QWebFrame *frame() const;
+
+private:
+ QWebNetworkJob();
+ ~QWebNetworkJob();
+
+ friend class QWebNetworkManager;
+ friend class QWebObjectPluginConnector;
+
+ QWebNetworkJobPrivate *d;
+};
+
+class QWebNetworkInterfacePrivate;
+
+class QWEBKIT_EXPORT QWebNetworkInterface : public QObject
+{
+ Q_OBJECT
+public:
+ QWebNetworkInterface(QObject *parent = 0);
+ ~QWebNetworkInterface();
+
+ static void setDefaultInterface(QWebNetworkInterface *defaultInterface);
+ static QWebNetworkInterface *defaultInterface();
+
+ virtual void addJob(QWebNetworkJob *job);
+ virtual void cancelJob(QWebNetworkJob *job);
+
+signals:
+ void started(QWebNetworkJob*);
+ void data(QWebNetworkJob*, const QByteArray &data);
+ void finished(QWebNetworkJob*, int errorCode);
+ /**
+ * Signal is emitted when an SSL error occurs.
+ */
+ void sslErrors(QWebFrame *frame, const QUrl& url, const QList<QSslError>& errors, bool *continueAnyway);
+ /**
+ * Signal is emitted when network authentication is required.
+ */
+ void authenticate(QWebFrame *frame, const QUrl& url, const QString& hostname, quint16 port, QAuthenticator *auth);
+ /**
+ * Signal is emitted when proxy authentication is required.
+ */
+ void authenticateProxy(QWebFrame *frame, const QUrl& url, const QNetworkProxy& proxy, QAuthenticator *auth);
+
+private:
+ friend class QWebNetworkInterfacePrivate;
+ friend class WebCore::WebCoreHttp;
+ QWebNetworkInterfacePrivate *d;
+};
+
+#endif