summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/nokia
diff options
context:
space:
mode:
authorHarald Meyer <dev@meh.at>2015-10-10 17:01:07 +0200
committerHarald Meyer <dev@meh.at>2015-10-22 05:02:14 +0000
commit211fd58142a03387b8a693f20a6054a8578e9f8a (patch)
tree61df325a59ea5af6c3a14684c8b021bc34825202 /src/plugins/geoservices/nokia
parentf7d39c4aa2d16c0e7475a301e24818ae50c970c8 (diff)
downloadqtlocation-211fd58142a03387b8a693f20a6054a8578e9f8a.tar.gz
Split QGeoTileCache for easier customization of the tile cache.
The QGeoTileCache is split into two classes: The abstract class QAbstractGeoTileCache offers interfaces for inserting and getting tiles, as well as getting cache status information such as used texture memory. The new class QGeoFileTileCache implements QAbstractGeoTileCache and offers a file based caching implementation (the implementation is the same as before splitting the class). Change-Id: I2eab7491d489ac5b251c1296b67688901f5cc7d7 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/plugins/geoservices/nokia')
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp14
-rw-r--r--src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h2
2 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
index 1b1163a6..cc7af6d0 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
@@ -39,7 +39,7 @@
#include "qgeotiledmap_nokia.h"
#include "qgeotilefetcher_nokia.h"
#include "qgeotilespec_p.h"
-#include "qgeotilecache_p.h"
+#include "qgeofiletilecache_p.h"
#include <QDebug>
#include <QDir>
@@ -101,15 +101,14 @@ QGeoTiledMappingManagerEngineNokia::QGeoTiledMappingManagerEngineNokia(
// TODO: do this in a plugin-neutral way so that other tiled map plugins
// don't need this boilerplate or hardcode plugin name
- QString cacheDir;
if (parameters.contains(QStringLiteral("here.mapping.cache.directory"))) {
- cacheDir = parameters.value(QStringLiteral("here.mapping.cache.directory")).toString();
+ m_cacheDirectory = parameters.value(QStringLiteral("here.mapping.cache.directory")).toString();
} else {
// managerName() is not yet set, we have to hardcode the plugin name below
- cacheDir = QGeoTileCache::baseCacheDirectory() + QLatin1String("here");
+ m_cacheDirectory = QAbstractGeoTileCache::baseCacheDirectory() + QLatin1String("here");
}
- QGeoTileCache *tileCache = createTileCacheWithDir(cacheDir);
+ QAbstractGeoTileCache *tileCache = createTileCacheWithDir(m_cacheDirectory);
if (parameters.contains(QStringLiteral("here.mapping.cache.disk.size"))) {
bool ok = false;
@@ -263,7 +262,7 @@ void QGeoTiledMappingManagerEngineNokia::updateVersion(const QJsonObject &newVer
void QGeoTiledMappingManagerEngineNokia::saveMapVersion()
{
- QDir saveDir(tileCache()->directory());
+ QDir saveDir(m_cacheDirectory);
QFile saveFile(saveDir.filePath(QStringLiteral("here_version")));
if (!saveFile.open(QIODevice::WriteOnly)) {
@@ -277,8 +276,7 @@ void QGeoTiledMappingManagerEngineNokia::saveMapVersion()
void QGeoTiledMappingManagerEngineNokia::loadMapVersion()
{
-
- QDir saveDir(tileCache()->directory());
+ QDir saveDir(m_cacheDirectory);
QFile loadFile(saveDir.filePath(QStringLiteral("here_version")));
if (!loadFile.open(QIODevice::ReadOnly)) {
diff --git a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
index acaf61d7..16483120 100644
--- a/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
+++ b/src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h
@@ -101,6 +101,8 @@ private:
QHash<QString, QList<CopyrightDesc> > m_copyrights;
QHash<int, QString> m_mapSchemes;
QGeoMapVersion m_mapVersion;
+
+ QString m_cacheDirectory;
};
QT_END_NAMESPACE