From 7c3292a41b480fd7ded2cb4943bc8e897c1e6f86 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 1 Jul 2014 17:47:31 -0700 Subject: [PATCH] Switched AccountManager to NetworkAccessManager --- libraries/networking/src/AccountManager.cpp | 27 ++++++++------------- libraries/networking/src/AccountManager.h | 6 ++--- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/libraries/networking/src/AccountManager.cpp b/libraries/networking/src/AccountManager.cpp index 918261a953..82487ae1c0 100644 --- a/libraries/networking/src/AccountManager.cpp +++ b/libraries/networking/src/AccountManager.cpp @@ -49,7 +49,6 @@ JSONCallbackParameters::JSONCallbackParameters() : AccountManager::AccountManager() : _authURL(), - _networkAccessManager(NULL), _pendingCallbackMap(), _accountInfo() { @@ -153,9 +152,7 @@ void AccountManager::invokedRequest(const QString& path, QNetworkAccessManager:: const JSONCallbackParameters& callbackParams, const QByteArray& dataByteArray, QHttpMultiPart* dataMultiPart) { - if (!_networkAccessManager) { - _networkAccessManager = new QNetworkAccessManager(this); - } + NetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); if (hasValidAccessToken()) { QNetworkRequest authenticatedRequest; @@ -184,23 +181,23 @@ void AccountManager::invokedRequest(const QString& path, QNetworkAccessManager:: switch (operation) { case QNetworkAccessManager::GetOperation: - networkReply = _networkAccessManager->get(authenticatedRequest); + networkReply = networkAccessManager.get(authenticatedRequest); break; case QNetworkAccessManager::PostOperation: case QNetworkAccessManager::PutOperation: if (dataMultiPart) { if (operation == QNetworkAccessManager::PostOperation) { - networkReply = _networkAccessManager->post(authenticatedRequest, dataMultiPart); + networkReply = networkAccessManager.post(authenticatedRequest, dataMultiPart); } else { - networkReply = _networkAccessManager->put(authenticatedRequest, dataMultiPart); + networkReply = networkAccessManager.put(authenticatedRequest, dataMultiPart); } dataMultiPart->setParent(networkReply); } else { authenticatedRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); if (operation == QNetworkAccessManager::PostOperation) { - networkReply = _networkAccessManager->post(authenticatedRequest, dataByteArray); + networkReply = networkAccessManager.post(authenticatedRequest, dataByteArray); } else { - networkReply = _networkAccessManager->put(authenticatedRequest, dataByteArray); + networkReply = networkAccessManager.put(authenticatedRequest, dataByteArray); } } @@ -304,9 +301,7 @@ bool AccountManager::checkAndSignalForAccessToken() { void AccountManager::requestAccessToken(const QString& login, const QString& password) { - if (!_networkAccessManager) { - _networkAccessManager = new QNetworkAccessManager(this); - } + NetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); QNetworkRequest request; @@ -324,7 +319,7 @@ void AccountManager::requestAccessToken(const QString& login, const QString& pas request.setUrl(grantURL); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); - QNetworkReply* requestReply = _networkAccessManager->post(request, postData); + QNetworkReply* requestReply = networkAccessManager.post(request, postData); connect(requestReply, &QNetworkReply::finished, this, &AccountManager::requestAccessTokenFinished); connect(requestReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestAccessTokenError(QNetworkReply::NetworkError))); } @@ -376,15 +371,13 @@ void AccountManager::requestAccessTokenError(QNetworkReply::NetworkError error) } void AccountManager::requestProfile() { - if (!_networkAccessManager) { - _networkAccessManager = new QNetworkAccessManager(this); - } + NetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance(); QUrl profileURL = _authURL; profileURL.setPath("/api/v1/users/profile"); profileURL.setQuery("access_token=" + _accountInfo.getAccessToken().token); - QNetworkReply* profileReply = _networkAccessManager->get(QNetworkRequest(profileURL)); + QNetworkReply* profileReply = networkAccessManager.get(QNetworkRequest(profileURL)); connect(profileReply, &QNetworkReply::finished, this, &AccountManager::requestProfileFinished); connect(profileReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestProfileError(QNetworkReply::NetworkError))); } diff --git a/libraries/networking/src/AccountManager.h b/libraries/networking/src/AccountManager.h index c18836ca54..9ac67ee664 100644 --- a/libraries/networking/src/AccountManager.h +++ b/libraries/networking/src/AccountManager.h @@ -15,9 +15,10 @@ #include #include #include -#include #include +#include "NetworkAccessManager.h" + #include "DataServerAccountInfo.h" class JSONCallbackParameters { @@ -58,8 +59,6 @@ public: const DataServerAccountInfo& getAccountInfo() const { return _accountInfo; } - void destroy() { delete _networkAccessManager; } - public slots: void requestAccessTokenFinished(); void requestProfileFinished(); @@ -93,7 +92,6 @@ private: QHttpMultiPart* dataMultiPart); QUrl _authURL; - QNetworkAccessManager* _networkAccessManager; QMap _pendingCallbackMap; DataServerAccountInfo _accountInfo;