#ifndef __NETWORKACCESSMANAGER_H #define __NETWORKACCESSMANAGER_H #include #include #include #include class NetworkAccessManager : public QNetworkAccessManager { Q_OBJECT public: NetworkAccessManager(QObject *parent = 0); void addHeader(QString key, QString value); void reset(); void setUserName(const QString &userName); void setPassword(const QString &password); void setUrlBlacklist(QStringList urlBlacklist); protected: QNetworkReply* createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &req, QIODevice * outgoingData); QString m_userName; QString m_password; QList m_urlBlacklist; private: void disableKeyChainLookup(); QHash m_headers; bool isBlacklisted(QUrl url); QHash m_redirectMappings; private slots: void provideAuthentication(QNetworkReply *reply, QAuthenticator *authenticator); void finished(QNetworkReply *); signals: void requestCreated(QByteArray &url, QNetworkReply *reply); void finished(QUrl &, QNetworkReply *); }; #endif