Preliminary merge. Integration is brancehd from fresh master.
[situare] / src / situareservice / situareservice.cpp
index f937e0b..707ef51 100644 (file)
@@ -19,6 +19,7 @@
    USA.
 */
 
+#include <QtAlgorithms>
 #include <QDebug>
 #include <QtGlobal>
 #include <QStringList>
 #include "../cookiehandler/cookiehandler.h"
 #include "parser.h"
 
-SituareService::SituareService(QObject *parent, QNetworkAccessManager *manager)
-        : QObject(parent), m_networkManager(manager)
+SituareService::SituareService(QObject *parent)
+        : QObject(parent)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    m_networkManager = new QNetworkAccessManager;
     connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), SLOT(requestFinished(QNetworkReply*)));
 
     m_imageFetcher = new ImageFetcher(new QNetworkAccessManager(this), this);
@@ -41,6 +43,7 @@ SituareService::SituareService(QObject *parent, QNetworkAccessManager *manager)
     connect(m_imageFetcher, SIGNAL(imageReceived(QUrl,QPixmap)), this,
             SLOT(imageReceived(QUrl, QPixmap)));
 
+    m_user = 0;
 }
 
 SituareService::~SituareService()
@@ -48,9 +51,16 @@ SituareService::~SituareService()
     qDebug() << __PRETTY_FUNCTION__;
 
     delete m_networkManager;
+    m_networkManager = 0;
     if(m_user) {
         delete m_user;
+        m_user = 0;
     }
+    delete m_imageFetcher;
+    m_imageFetcher = 0;
+
+    qDeleteAll(m_friendsList.begin(), m_friendsList.end());
+    m_friendsList.clear();
 }
 
 void SituareService::fetchLocations()
@@ -64,7 +74,6 @@ void SituareService::fetchLocations()
                                               m_credentials.sig(), EN_LOCALE);
 
     QUrl url = formUrl(SITUARE_URL, GET_LOCATIONS);
-
     sendRequest(url, COOKIE, cookie);
 }
 
@@ -77,7 +86,6 @@ void SituareService::reverseGeo(const QPointF &coordinates)
     QString cookie = cookieHandler.formCookie(API_KEY, m_credentials.expires(), m_credentials.userID(),
                                               m_credentials.sessionKey(), m_credentials.sessionSecret(),
                                               m_credentials.sig(), EN_LOCALE);
-
     QString urlParameters = formUrlParameters(coordinates);
     QUrl url = formUrl(SITUARE_URL, REVERSE_GEO, urlParameters);
 
@@ -116,7 +124,7 @@ QUrl SituareService::formUrl(const QString &baseUrl, const QString &phpScript, Q
 
     urlString.append(baseUrl);
     urlString.append(phpScript);
-    if(urlParameters != NULL)
+    if(!urlParameters.isEmpty())
         urlString.append(urlParameters);
 
     QUrl url = QUrl(urlString);
@@ -152,7 +160,7 @@ QString SituareService::formUrlParameters(const QPointF &coordinates, QString st
         parameters.append(PUBLISH_FALSE);
     }
 
-    if(status != NULL) {
+    if(!status.isEmpty()) {
         parameters.append(AMBERSAND_MARK);
         parameters.append(DATA);
         parameters.append(EQUAL_MARK);
@@ -239,6 +247,7 @@ void SituareService::parseUserData(const QByteArray &jsonReply)
 
     m_visited = 0;
     m_nbrOfImages = 0;
+    qDeleteAll(m_friendsList.begin(), m_friendsList.end());
     m_friendsList.clear();
 
     QJson::Parser parser;
@@ -308,12 +317,12 @@ void SituareService::addProfileImages()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if(m_user->profileImageUrl() != QUrl("")) {
+    if(!m_user->profileImageUrl().isEmpty()) {
         emit fetchImage(m_user->profileImageUrl());
     }
 
     for(int i=0;i<m_friendsList.count();i++) {
-        if(m_friendsList.at(i)->profileImageUrl() != QUrl("")) {
+        if(!m_friendsList.at(i)->profileImageUrl().isEmpty()) {
             m_visited++; // indicates how many friends that have profile image
             emit fetchImage(m_friendsList.at(i)->profileImageUrl());
         }