summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-20 11:43:37 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-20 11:43:37 +0100
commitd0a8865ac930c6af0e0527f3d56ca13415353e5e (patch)
treeaf14109d19aef3e5fb694e82103341e5c621c425
parent99fe99f83f879716a53846c35c0890ac0377e01d (diff)
downloadbrowser-poc-d0a8865ac930c6af0e0527f3d56ca13415353e5e.tar.gz
Changed BrowserConfig into singleton
-rw-r--r--browser/browserconfig.cpp2
-rw-r--r--browser/browserconfig.h24
-rw-r--r--browser/cachemanager.cpp4
-rw-r--r--browser/cachemanager.h2
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>
*