diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-20 11:43:37 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-20 11:43:37 +0100 |
commit | d0a8865ac930c6af0e0527f3d56ca13415353e5e (patch) | |
tree | af14109d19aef3e5fb694e82103341e5c621c425 | |
parent | 99fe99f83f879716a53846c35c0890ac0377e01d (diff) | |
download | browser-poc-d0a8865ac930c6af0e0527f3d56ca13415353e5e.tar.gz |
Changed BrowserConfig into singleton
-rw-r--r-- | browser/browserconfig.cpp | 2 | ||||
-rw-r--r-- | browser/browserconfig.h | 24 | ||||
-rw-r--r-- | browser/cachemanager.cpp | 4 | ||||
-rw-r--r-- | 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<qlonglong>(BrowserConfig::BrowserConf template qulonglong BrowserConfig::getValue<qulonglong>(BrowserConfig::BrowserConfigKey); template conn::brw::CACHE_POLICY BrowserConfig::getValue<conn::brw::CACHE_POLICY>(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<typename T> - T getValue(BrowserConfigKey); + static BrowserConfig* instance() { + if (!BrowserConfig::m_config) + BrowserConfig::m_config = new BrowserConfig(); - template<typename T> - void setValue(BrowserConfigKey, T); + return BrowserConfig::m_config; + } - bool contains(BrowserConfig::BrowserConfigKey key); + template<typename T> + T getValue(BrowserConfigKey); + + template<typename T> + 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 <jonatan.palsson@pelagicore.com> * @@ -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 <jonatan.palsson@pelagicore.com> * |