diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-04-10 12:48:01 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2012-04-10 15:31:45 +0200 |
commit | 143c4d3e13a430b951f4f4f8c28db14303f80605 (patch) | |
tree | 2b89637b93fc7d81c674106008566010f986d67c /tests/manual/qnetworkaccessmanager/qget/qget.h | |
parent | a7ed81b557d593a8ddb43b71bf4bbf3b44ead070 (diff) | |
parent | e5337ad1b1fb02873ce7b5ca8db45f6fd8063352 (diff) |
Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
configure
src/widgets/styles/qwindowsxpstyle.cpp
tests/auto/gui/kernel/qwindow/qwindow.pro
tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
Change-Id: I624b6d26abce9874c610c04954c1c45bc074bef3
Diffstat (limited to 'tests/manual/qnetworkaccessmanager/qget/qget.h')
-rw-r--r-- | tests/manual/qnetworkaccessmanager/qget/qget.h | 77 |
1 files changed, 51 insertions, 26 deletions
diff --git a/tests/manual/qnetworkaccessmanager/qget/qget.h b/tests/manual/qnetworkaccessmanager/qget/qget.h index 40d75a3903..bad4f5e4d2 100644 --- a/tests/manual/qnetworkaccessmanager/qget/qget.h +++ b/tests/manual/qnetworkaccessmanager/qget/qget.h @@ -46,25 +46,50 @@ #include <QNetworkReply> #include <QFile> -class DownloadItem : public QObject +class TransferItem : public QObject { Q_OBJECT public: - DownloadItem(QNetworkReply* r, QNetworkAccessManager& nam); - ~DownloadItem(); + enum Method {Get,Put,Post}; + TransferItem(const QNetworkRequest &r, const QString &u, const QString &p, QNetworkAccessManager &n, Method m); + void start(); +signals: + void downloadFinished(TransferItem *self); +public slots: + void progress(qint64,qint64); +public: + Method method; + QNetworkRequest request; + QNetworkReply *reply; + QNetworkAccessManager &nam; + QFile *inputFile; + QFile *outputFile; + QList<QUrl> redirects; + QString user; + QString password; +}; - QNetworkReply* networkReply() { return reply; } +class DownloadItem : public TransferItem +{ + Q_OBJECT +public: + DownloadItem(const QNetworkRequest &r, const QString &user, const QString &password, QNetworkAccessManager &nam); + ~DownloadItem(); -signals: - void downloadFinished(DownloadItem *self); private slots: void readyRead(); void finished(); private: - QNetworkAccessManager& nam; - QNetworkReply* reply; - QFile file; - QList<QUrl> redirects; +}; + +class UploadItem : public TransferItem +{ + Q_OBJECT +public: + UploadItem(const QNetworkRequest &r, const QString &user, const QString &password, QNetworkAccessManager &nam, QFile *f, TransferItem::Method method); + ~UploadItem(); +private slots: + void finished(); }; class DownloadManager : public QObject @@ -73,31 +98,31 @@ class DownloadManager : public QObject public: DownloadManager(); ~DownloadManager(); - void get(const QUrl& url); - void setProxy(const QNetworkProxy& proxy) { nam.setProxy(proxy); } - void setHttpUser(const QString& user) { httpUser = user; } - void setHttpPassword(const QString& password) { httpPassword = password; } - void setProxyUser(const QString& user) { proxyUser = user; } - void setProxyPassword(const QString& password) { proxyPassword = password; } + void get(const QUrl &url, const QString &user, const QString &password); + void upload(const QUrl &url, const QString &user, const QString &password, const QString &filename, const QString &contentType, TransferItem::Method method); + void setProxy(const QNetworkProxy &proxy) { nam.setProxy(proxy); } + void setProxyUser(const QString &user) { proxyUser = user; } + void setProxyPassword(const QString &password) { proxyPassword = password; } + enum QueueMode { Parallel, Serial }; + void setQueueMode(QueueMode mode); public slots: void checkForAllDone(); private slots: - void finished(QNetworkReply* reply); - void authenticationRequired(QNetworkReply* reply, QAuthenticator* authenticator); - void proxyAuthenticationRequired(const QNetworkProxy& proxy, QAuthenticator* authenticator); -#ifndef QT_NO_SSL - void sslErrors(QNetworkReply* reply, const QList<QSslError>& errors); -#endif - void downloadFinished(DownloadItem *item); + void finished(QNetworkReply *reply); + void authenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator); + void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator); + void sslErrors(QNetworkReply *reply, const QList<QSslError> &errors); + void downloadFinished(TransferItem *item); private: + TransferItem *findTransfer(QNetworkReply *reply); + QNetworkAccessManager nam; - QList<DownloadItem*> downloads; - QString httpUser; - QString httpPassword; + QList<TransferItem*> transfers; QString proxyUser; QString proxyPassword; + QueueMode queueMode; }; #endif // QGET_H |