summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-10 15:12:47 +0100
committerJonatan Pålsson <jonatan.palsson@pelagicore.com>2014-02-10 15:12:47 +0100
commit41c5d285ffd16d0efb1af8113a796b2d457fbff8 (patch)
tree8eb943423ebc7ea3c452d89492b44795232fa75e
parent7495d95d047b99895660ea4a91053ba434abca61 (diff)
downloadbrowser-poc-41c5d285ffd16d0efb1af8113a796b2d457fbff8.tar.gz
Now reading CACHE_POLICY from config
-rw-r--r--browser/browserconfig.cpp6
-rw-r--r--browser/browserconfig.h6
-rw-r--r--browser/cachemanager.cpp19
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;
}