diff options
author | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-10 15:12:47 +0100 |
---|---|---|
committer | Jonatan Pålsson <jonatan.palsson@pelagicore.com> | 2014-02-10 15:12:47 +0100 |
commit | 41c5d285ffd16d0efb1af8113a796b2d457fbff8 (patch) | |
tree | 8eb943423ebc7ea3c452d89492b44795232fa75e | |
parent | 7495d95d047b99895660ea4a91053ba434abca61 (diff) | |
download | browser-poc-41c5d285ffd16d0efb1af8113a796b2d457fbff8.tar.gz |
Now reading CACHE_POLICY from config
-rw-r--r-- | browser/browserconfig.cpp | 6 | ||||
-rw-r--r-- | browser/browserconfig.h | 6 | ||||
-rw-r--r-- | browser/cachemanager.cpp | 19 |
3 files changed, 30 insertions, 1 deletions
diff --git a/browser/browserconfig.cpp b/browser/browserconfig.cpp index ecca016..c45f262 100644 --- a/browser/browserconfig.cpp +++ b/browser/browserconfig.cpp @@ -18,11 +18,13 @@ template void BrowserConfig::setValue<int>(BrowserConfig::BrowserConfigKey, template void BrowserConfig::setValue<QString>(BrowserConfig::BrowserConfigKey, QString); template void BrowserConfig::setValue<qlonglong>(BrowserConfig::BrowserConfigKey, qlonglong); template void BrowserConfig::setValue<qulonglong>(BrowserConfig::BrowserConfigKey, qulonglong); +template void BrowserConfig::setValue<conn::brw::CACHE_POLICY>(BrowserConfig::BrowserConfigKey, conn::brw::CACHE_POLICY); template int BrowserConfig::getValue<int>(BrowserConfig::BrowserConfigKey); template QString BrowserConfig::getValue<QString>(BrowserConfig::BrowserConfigKey); template qlonglong BrowserConfig::getValue<qlonglong>(BrowserConfig::BrowserConfigKey); template qulonglong BrowserConfig::getValue<qulonglong>(BrowserConfig::BrowserConfigKey); +template conn::brw::CACHE_POLICY BrowserConfig::getValue<conn::brw::CACHE_POLICY>(BrowserConfig::BrowserConfigKey); BrowserConfig::BrowserConfig() { m_qsettings = new QSettings("browserpoc"); @@ -38,3 +40,7 @@ void BrowserConfig::setValue(BrowserConfig::BrowserConfigKey key, T value) { m_qsettings->setValue(QString(key), value); m_qsettings->sync(); } + +bool BrowserConfig::contains(BrowserConfig::BrowserConfigKey key) { + return m_qsettings->contains(QString(key)); +} diff --git a/browser/browserconfig.h b/browser/browserconfig.h index c95c624..fc53a8b 100644 --- a/browser/browserconfig.h +++ b/browser/browserconfig.h @@ -13,10 +13,12 @@ #include <QObject> #include <QSettings> +#include "../common/browserdefs.h" + class BrowserConfig : public QObject{ Q_OBJECT public: - enum BrowserConfigKey {CONFIG_CACHESIZE}; + enum BrowserConfigKey {CONFIG_CACHEPOLICY}; BrowserConfig(); template<typename T> @@ -25,6 +27,8 @@ public: template<typename T> void setValue(BrowserConfigKey, T); + bool contains(BrowserConfig::BrowserConfigKey key); + private: QSettings *m_qsettings = NULL; }; diff --git a/browser/cachemanager.cpp b/browser/cachemanager.cpp index 161d5e0..dfe3dfa 100644 --- a/browser/cachemanager.cpp +++ b/browser/cachemanager.cpp @@ -31,6 +31,24 @@ cachemanager::cachemanager(QObject *parent) : m_manager->setCache(cache); else qDebug() << "Unable to create cache file!"; + + if (m_config && m_config->contains(BrowserConfig::CONFIG_CACHEPOLICY)) { + conn::brw::CACHE_POLICY policy = conn::brw::CP_ONLINE_CACHE; + switch (m_config->getValue<int>(BrowserConfig::CONFIG_CACHEPOLICY)) + { + case 0: + policy = conn::brw::CP_ONLINE_CACHE; + break; + case 1: + policy = conn::brw::CP_CACHE_ONLY; + break; + case 2: + policy = conn::brw::CP_ONLINE_ONLY; + break; + } + qDebug() << "Reading cachePolicy from config:" << policy; + this->setCachePolicy(policy); + } } qlonglong cachemanager::getCacheSize(){ @@ -62,6 +80,7 @@ qlonglong cachemanager::getMaximumCacheSize(){ conn::brw::ERROR_IDS cachemanager::setCachePolicy(conn::brw::CACHE_POLICY pol) { + m_config->setValue(BrowserConfig::CONFIG_CACHEPOLICY, pol); m_policy = pol; return conn::brw::EID_NO_ERROR; } |