QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QGeoFileTileCacheQGC.h
Go to the documentation of this file.
1#pragma once
2
3#include <atomic>
4
5#include <QtLocation/private/qgeofiletilecache_p.h>
6
8
9class QGeoFileTileCacheQGC : public QGeoFileTileCache
10{
11 Q_OBJECT
12
13public:
14 explicit QGeoFileTileCacheQGC(const QVariantMap &parameters, QObject *parent = nullptr);
16
17 static quint32 getMaxDiskCacheSetting();
18 static void cacheTile(const QString &type, int x, int y, int z, const QByteArray &image, const QString &format, qulonglong set = UINT64_MAX);
19 static void cacheTile(const QString &type, const QString &hash, const QByteArray &image, const QString &format, qulonglong set = UINT64_MAX);
20 static QGCFetchTileTask *createFetchTileTask(const QString &type, int x, int y, int z);
21 static QString getDatabaseFilePath() { return _databaseFilePath; }
22 static QString getCachePath() { return _cachePath; }
23
24private:
25 // QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, const QString &directory) const final;
26 // QGeoTileSpec filenameToTileSpec(const QString &filename) const final;
27
28 static void _initCache();
29 static bool _wipeDirectory(const QString &dirPath);
30 static void _wipeOldCaches();
31
32 static QString _getCachePath(const QVariantMap &parameters);
33 static uint32_t _getMemLimit(const QVariantMap &Parameters);
34
35 static uint32_t _getDefaultMaxMemLimit() { return (3 * qPow(1024, 2)); }
36 static uint32_t _getDefaultMaxDiskCache() { return 0; } // (50 * pow(1024, 2));
37 static uint32_t _getDefaultExtraTexture() { return (6 * qPow(1024, 2)); }
38 static uint32_t _getDefaultMinTexture() { return 0; }
39
40 static quint32 _getMaxMemCacheSetting();
41
42 // Initialized once via std::call_once in constructor before worker thread starts
43 static QString _databaseFilePath;
44 static QString _cachePath;
45 static std::atomic<bool> _cacheWasReset;
46};
static QGCFetchTileTask * createFetchTileTask(const QString &type, int x, int y, int z)
static void cacheTile(const QString &type, int x, int y, int z, const QByteArray &image, const QString &format, qulonglong set=UINT64_MAX)
static QString getCachePath()
static quint32 getMaxDiskCacheSetting()
static QString getDatabaseFilePath()