00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef NETWORKACCESSMANAGER_H
00023 #define NETWORKACCESSMANAGER_H
00024
00025 #include <QList>
00026 #include <QHash>
00027 #include <QNetworkReply>
00028 #include <QNetworkRequest>
00029 #include <QAbstractNetworkCache>
00030
00031 class NetworkHandler;
00032 class QNetworkAccessManager;
00033
00041 class NetworkAccessManager : public QObject
00042 {
00043 Q_OBJECT
00044
00045
00046
00047
00048 public:
00054 NetworkAccessManager(QObject *parent = 0);
00055
00061 bool isConnected();
00062
00070 QNetworkReply *get(const QNetworkRequest &request, bool onlineRequestsOnly = false);
00071
00080 QNetworkReply *post(const QNetworkRequest &request, QByteArray &data,
00081 bool onlineRequestsOnly = false);
00082
00088 void setCache(QAbstractNetworkCache *cache);
00089
00095 QAbstractNetworkCache *cache() const;
00096
00097 private slots:
00101 void connected();
00102
00106 void disconnected();
00107
00113 void downloadFinished(QNetworkReply *reply);
00114
00115
00116
00117
00118 signals:
00124 void finished(QNetworkReply *reply);
00125
00126
00127
00128
00129 private:
00130 bool m_connected;
00131 NetworkHandler *m_networkHandler;
00132 QNetworkAccessManager *m_networkAccessManagerPrivate;
00133 QList<QNetworkRequest> m_requestQueue;
00134 QHash<QString, QNetworkReply*> m_offlineReplyQueue;
00135 QHash<QString, QNetworkReply*> m_temporaryReplyQueue;
00136 };
00137
00138 #endif // NETWORKACCESSMANAGER_H