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 <QtCore/QLoggingCategory>
6#include <QtLocation/private/qgeofiletilecache_p.h>
7
8Q_DECLARE_LOGGING_CATEGORY(QGeoFileTileCacheQGCLog)
9
11
12class QGeoFileTileCacheQGC : public QGeoFileTileCache
13{
14 Q_OBJECT
15
16public:
17 explicit QGeoFileTileCacheQGC(const QVariantMap &parameters, QObject *parent = nullptr);
19
20 static quint32 getMaxDiskCacheSetting();
21 static void cacheTile(const QString &type, int x, int y, int z, const QByteArray &image, const QString &format, qulonglong set = UINT64_MAX);
22 static void cacheTile(const QString &type, const QString &hash, const QByteArray &image, const QString &format, qulonglong set = UINT64_MAX);
23 static QGCFetchTileTask *createFetchTileTask(const QString &type, int x, int y, int z);
24 static QString getDatabaseFilePath() { return _databaseFilePath; }
25 static QString getCachePath() { return _cachePath; }
26
27private:
28 // QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, const QString &directory) const final;
29 // QGeoTileSpec filenameToTileSpec(const QString &filename) const final;
30
31 static void _initCache();
32 static bool _wipeDirectory(const QString &dirPath);
33 static void _wipeOldCaches();
34
35 static QString _getCachePath(const QVariantMap &parameters);
36 static uint32_t _getMemLimit(const QVariantMap &Parameters);
37
38 static uint32_t _getDefaultMaxMemLimit() { return (3 * qPow(1024, 2)); }
39 static uint32_t _getDefaultMaxDiskCache() { return 0; } // (50 * pow(1024, 2));
40 static uint32_t _getDefaultExtraTexture() { return (6 * qPow(1024, 2)); }
41 static uint32_t _getDefaultMinTexture() { return 0; }
42
43 static quint32 _getMaxMemCacheSetting();
44
45 // Initialized once via std::call_once in constructor before worker thread starts
46 static QString _databaseFilePath;
47 static QString _cachePath;
48 static std::atomic<bool> _cacheWasReset;
49};
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
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()