From 56926fd6672d0bc73d0fd3d5c8b0c6a6d42f3fb0 Mon Sep 17 00:00:00 2001 From: Jussi Laitinen Date: Wed, 21 Jul 2010 11:39:36 +0300 Subject: [PATCH] Changed singleton from NetworkAccessManager to NetworkHandler. --- src/engine/engine.cpp | 2 +- src/gps/geopositioninfo.cpp | 2 +- src/gps/liblocationwrapper.cpp | 2 +- src/map/mapengine.cpp | 2 +- src/network/networkaccessmanager.cpp | 23 ++++++++++++----------- src/network/networkaccessmanager.h | 29 +++++++++++++++-------------- src/network/networkhandler.cpp | 15 +++++++++++++-- src/network/networkhandler.h | 17 +++++++++++------ src/situareservice/situareservice.cpp | 4 ++-- 9 files changed, 57 insertions(+), 39 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 23c3a25..3bd49f5 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -70,7 +70,7 @@ SituareEngine::SituareEngine() this, SLOT(enablePowerSave(bool))); #endif - m_networkAccessManager = NetworkAccessManager::instance(); + m_networkAccessManager = new NetworkAccessManager(this); // build MapEngine m_mapEngine = new MapEngine(this); diff --git a/src/gps/geopositioninfo.cpp b/src/gps/geopositioninfo.cpp index fd74615..3a81bd2 100644 --- a/src/gps/geopositioninfo.cpp +++ b/src/gps/geopositioninfo.cpp @@ -24,7 +24,7 @@ #include "geopositioninfo.h" #include "gpscommon.h" -#include "geocoordinate.h" +#include "coordinates/geocoordinate.h" GeoPositionInfo::GeoPositionInfo() : m_timestamp(QDateTime()), diff --git a/src/gps/liblocationwrapper.cpp b/src/gps/liblocationwrapper.cpp index d73b928..1b2da69 100644 --- a/src/gps/liblocationwrapper.cpp +++ b/src/gps/liblocationwrapper.cpp @@ -23,7 +23,7 @@ #include "liblocationwrapper.h" #include "geopositioninfo.h" -#include "geocoordinate.h" +#include "coordinates/geocoordinate.h" const int INTERVAL_1S = 1500; ///< Maximum value for 1 sec interval const int INTERVAL_2S = 2500; ///< Maximum value for 2 sec interval diff --git a/src/map/mapengine.cpp b/src/map/mapengine.cpp index aa4ebe0..28c7d3b 100644 --- a/src/map/mapengine.cpp +++ b/src/map/mapengine.cpp @@ -64,7 +64,7 @@ MapEngine::MapEngine(QObject *parent) m_mapScene = new MapScene(this); - m_mapFetcher = new MapFetcher(NetworkAccessManager::instance(), this); + m_mapFetcher = new MapFetcher(new NetworkAccessManager(this), this); connect(this, SIGNAL(fetchImage(int, int, int)), m_mapFetcher, SLOT(enqueueFetchMapImage(int, int, int))); connect(m_mapFetcher, SIGNAL(mapImageReceived(int, int, int, QPixmap)), diff --git a/src/network/networkaccessmanager.cpp b/src/network/networkaccessmanager.cpp index 307cdae..d2ca214 100644 --- a/src/network/networkaccessmanager.cpp +++ b/src/network/networkaccessmanager.cpp @@ -29,16 +29,17 @@ #include "networkreply.h" #include "common.h" -NetworkAccessManager *NetworkAccessManager::m_instance = 0; +//NetworkAccessManager *NetworkAccessManager::m_instance = 0; -NetworkAccessManager::NetworkAccessManager() - : m_connected(false), +NetworkAccessManager::NetworkAccessManager(QObject *parent) + : QObject(parent), + m_connected(false), m_networkHandler(0), m_networkAccessManagerPrivate(0) { qDebug() << __PRETTY_FUNCTION__; - m_networkHandler = new NetworkHandler(this); + m_networkHandler = NetworkHandler::instance();//new NetworkHandler(this); m_networkAccessManagerPrivate = new QNetworkAccessManager(this); connect(m_networkHandler, SIGNAL(connected()), @@ -128,15 +129,15 @@ QNetworkReply *NetworkAccessManager::get(const QNetworkRequest &request, bool on } } -NetworkAccessManager *NetworkAccessManager::instance() -{ - qDebug() << __PRETTY_FUNCTION__; +//NetworkAccessManager *NetworkAccessManager::instance() +//{ +// qDebug() << __PRETTY_FUNCTION__; - if (!m_instance) - m_instance = new NetworkAccessManager(); +// if (!m_instance) +// m_instance = new NetworkAccessManager(); - return m_instance; -} +// return m_instance; +//} bool NetworkAccessManager::isConnected() { diff --git a/src/network/networkaccessmanager.h b/src/network/networkaccessmanager.h index f10c05a..39deffb 100644 --- a/src/network/networkaccessmanager.h +++ b/src/network/networkaccessmanager.h @@ -46,12 +46,13 @@ class NetworkAccessManager : public QObject * MEMBER FUNCTIONS AND SLOTS ******************************************************************************/ public: - /** - * @brief Returns instance of NetworkAccessManager. - * - * Creates instance if not created. - */ - static NetworkAccessManager *instance(); +// /** +// * @brief Returns instance of NetworkAccessManager. +// * +// * Creates instance if not created. +// */ +// static NetworkAccessManager *instance(); + NetworkAccessManager(QObject *parent = 0); /** * @brief Returns connection state. @@ -82,13 +83,13 @@ public: */ QAbstractNetworkCache *cache() const; -protected: - /** - * @brief Constructor. - * - * Instance of this class can only be created by using instance method. - */ - NetworkAccessManager(); +//protected: +// /** +// * @brief Constructor. +// * +// * Instance of this class can only be created by using instance method. +// */ +// NetworkAccessManager(); private slots: /** @@ -124,7 +125,7 @@ signals: ******************************************************************************/ private: bool m_connected; ///< Connection flag - static NetworkAccessManager *m_instance; ///< Instance of NetworkAccessManager + //static NetworkAccessManager *m_instance; ///< Instance of NetworkAccessManager NetworkHandler *m_networkHandler; ///< Instance of NetworkHandler QNetworkAccessManager *m_networkAccessManagerPrivate; ///< Instance of QNetworkAccessManager QList m_requestQueue; ///< Queue for requests diff --git a/src/network/networkhandler.cpp b/src/network/networkhandler.cpp index e41b871..88e6f5c 100644 --- a/src/network/networkhandler.cpp +++ b/src/network/networkhandler.cpp @@ -29,8 +29,9 @@ #include "networkhandlerprivatestub.h" #endif -NetworkHandler::NetworkHandler(QObject *parent) - : QObject(parent) +NetworkHandler *NetworkHandler::m_instance = 0; + +NetworkHandler::NetworkHandler() { qDebug() << __PRETTY_FUNCTION__; @@ -51,6 +52,16 @@ void NetworkHandler::disconnect() m_networkHandlerPrivate->disconnect(); } +NetworkHandler *NetworkHandler::instance() +{ + qDebug() << __PRETTY_FUNCTION__; + + if (!m_instance) + m_instance = new NetworkHandler(); + + return m_instance; +} + bool NetworkHandler::isConnected() { qDebug() << __PRETTY_FUNCTION__; diff --git a/src/network/networkhandler.h b/src/network/networkhandler.h index 5eb84ee..9e9f851 100644 --- a/src/network/networkhandler.h +++ b/src/network/networkhandler.h @@ -43,12 +43,13 @@ public: friend class NetworkHandlerPrivate; - /** - * @brief Constructor. - * - * Creates ICD D-Bus interface. - */ - NetworkHandler(QObject *parent = 0); +// /** +// * @brief Constructor. +// * +// * Creates ICD D-Bus interface. +// */ +// NetworkHandler(QObject *parent = 0); + static NetworkHandler *instance(); /******************************************************************************* * MEMBER FUNCTIONS AND SLOTS @@ -80,6 +81,9 @@ public: */ void state(); +protected: + NetworkHandler(); + /******************************************************************************* * SIGNALS ******************************************************************************/ @@ -98,6 +102,7 @@ signals: * DATA MEMBERS ******************************************************************************/ private: + static NetworkHandler *m_instance; NetworkHandlerPrivate *m_networkHandlerPrivate; ///< Instance of NetworkHandlerPrivate }; diff --git a/src/situareservice/situareservice.cpp b/src/situareservice/situareservice.cpp index 5a497d4..c443e3d 100644 --- a/src/situareservice/situareservice.cpp +++ b/src/situareservice/situareservice.cpp @@ -38,11 +38,11 @@ SituareService::SituareService(QObject *parent) { qDebug() << __PRETTY_FUNCTION__; - m_networkManager = NetworkAccessManager::instance(); + m_networkManager = new NetworkAccessManager(this); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(requestFinished(QNetworkReply*)), Qt::QueuedConnection); - m_imageFetcher = new ImageFetcher(NetworkAccessManager::instance(), this); + m_imageFetcher = new ImageFetcher(new NetworkAccessManager(this), this); connect(this, SIGNAL(fetchImage(QUrl)), m_imageFetcher, SLOT(fetchImage(QUrl))); connect(m_imageFetcher, SIGNAL(imageReceived(QUrl,QPixmap)), -- 1.7.9.5