summaryrefslogtreecommitdiffstats
path: root/tests/manual/qnetworkaccessmanager/qget/qget.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/qnetworkaccessmanager/qget/qget.h')
-rw-r--r--tests/manual/qnetworkaccessmanager/qget/qget.h77
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