diff options
author | Harald Meyer <dev@meh.at> | 2015-10-10 17:01:07 +0200 |
---|---|---|
committer | Harald Meyer <dev@meh.at> | 2015-10-22 05:02:14 +0000 |
commit | 211fd58142a03387b8a693f20a6054a8578e9f8a (patch) | |
tree | 61df325a59ea5af6c3a14684c8b021bc34825202 /src/plugins/geoservices/nokia | |
parent | f7d39c4aa2d16c0e7475a301e24818ae50c970c8 (diff) | |
download | qtlocation-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.cpp | 14 | ||||
-rw-r--r-- | src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.h | 2 |
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 |