From d0a8865ac930c6af0e0527f3d56ca13415353e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Thu, 20 Feb 2014 11:43:37 +0100 Subject: Changed BrowserConfig into singleton --- browser/browserconfig.cpp | 2 ++ browser/browserconfig.h | 24 ++++++++++++++++-------- browser/cachemanager.cpp | 4 ++-- browser/cachemanager.h | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/browser/browserconfig.cpp b/browser/browserconfig.cpp index c45f262..c5d32b6 100644 --- a/browser/browserconfig.cpp +++ b/browser/browserconfig.cpp @@ -26,6 +26,8 @@ template qlonglong BrowserConfig::getValue(BrowserConfig::BrowserConf template qulonglong BrowserConfig::getValue(BrowserConfig::BrowserConfigKey); template conn::brw::CACHE_POLICY BrowserConfig::getValue(BrowserConfig::BrowserConfigKey); +BrowserConfig* BrowserConfig::m_config = NULL; + BrowserConfig::BrowserConfig() { m_qsettings = new QSettings("browserpoc"); } diff --git a/browser/browserconfig.h b/browser/browserconfig.h index 62ca4be..6653abb 100644 --- a/browser/browserconfig.h +++ b/browser/browserconfig.h @@ -21,19 +21,27 @@ class BrowserConfig : public QObject{ Q_OBJECT public: - enum BrowserConfigKey {CONFIG_CACHEPOLICY}; - BrowserConfig(); + enum BrowserConfigKey {CONFIG_CACHEPOLICY}; - template - T getValue(BrowserConfigKey); + static BrowserConfig* instance() { + if (!BrowserConfig::m_config) + BrowserConfig::m_config = new BrowserConfig(); - template - void setValue(BrowserConfigKey, T); + return BrowserConfig::m_config; + } - bool contains(BrowserConfig::BrowserConfigKey key); + template + T getValue(BrowserConfigKey); + + template + void setValue(BrowserConfigKey, T); + + bool contains(BrowserConfig::BrowserConfigKey key); private: - QSettings *m_qsettings = NULL; + BrowserConfig(); + QSettings *m_qsettings; + static BrowserConfig *m_config; }; #endif /*BROWSERCONFIG_H*/ diff --git a/browser/cachemanager.cpp b/browser/cachemanager.cpp index 7d18e34..bc90094 100644 --- a/browser/cachemanager.cpp +++ b/browser/cachemanager.cpp @@ -1,5 +1,5 @@ /** - * Copyright (C) 2013, Pelagicore + * Copyright (C) 2014, Pelagicore * * Author: Jonatan Pålsson * @@ -23,7 +23,7 @@ cachemanager::cachemanager(QObject *parent) : QObject(parent) { - m_config = new BrowserConfig(); + m_config = BrowserConfig::instance(); m_manager = new QNetworkAccessManager(); QNetworkDiskCache *cache = new QNetworkDiskCache(); cache->setCacheDirectory ("/tmp/browserpoc_cache"); diff --git a/browser/cachemanager.h b/browser/cachemanager.h index dba1f99..ba200bc 100644 --- a/browser/cachemanager.h +++ b/browser/cachemanager.h @@ -1,5 +1,5 @@ /** - * Copyright (C) 2013, Pelagicore + * Copyright (C) 2014, Pelagicore * * Author: Jonatan Pålsson * -- cgit v1.2.1