60 QGeoFileTileCache(
const QString &directory = QString(), QObject *parent =
nullptr);
63 void setMaxDiskUsage(
int diskUsage) override;
64 int maxDiskUsage()
const override;
65 int diskUsage()
const override;
67 void setMaxMemoryUsage(
int memoryUsage) override;
68 int maxMemoryUsage()
const override;
69 int memoryUsage()
const override;
71 void setMinTextureUsage(
int textureUsage) override;
72 void setExtraTextureUsage(
int textureUsage) override;
73 int maxTextureUsage()
const override;
74 int minTextureUsage()
const override;
75 int textureUsage()
const override;
76 void clearAll() override;
77 void clearMapId(
int mapId);
78 void setCostStrategyDisk(CostStrategy costStrategy) override;
79 CostStrategy costStrategyDisk()
const override;
80 void setCostStrategyMemory(CostStrategy costStrategy) override;
81 CostStrategy costStrategyMemory()
const override;
82 void setCostStrategyTexture(CostStrategy costStrategy) override;
83 CostStrategy costStrategyTexture()
const override;
86 QSharedPointer<QGeoTileTexture> get(
const QGeoTileSpec &spec) override;
89 static void evictFromDiskCache(QGeoCachedTileDisk *td);
90 static void evictFromMemoryCache(QGeoCachedTileMemory *tm);
92 void insert(
const QGeoTileSpec &spec,
93 const QByteArray &bytes,
94 const QString &format,
95 QAbstractGeoTileCache::CacheAreas areas = QAbstractGeoTileCache::AllCaches) override;
97 static QString tileSpecToFilenameDefault(
const QGeoTileSpec &spec,
const QString &format,
const QString &directory);
98 static QGeoTileSpec filenameToTileSpecDefault(
const QString &filename);
101 void init() override;
102 void printStats() override;
105 QString directory()
const;
107 QSharedPointer<QGeoCachedTileDisk> addToDiskCache(
const QGeoTileSpec &spec,
const QString &filename);
108 bool addToDiskCache(
const QGeoTileSpec &spec,
const QString &filename,
const QByteArray &bytes);
109 void addToMemoryCache(
const QGeoTileSpec &spec,
const QByteArray &bytes,
const QString &format);
110 QSharedPointer<QGeoTileTexture> addToTextureCache(
const QGeoTileSpec &spec,
const QImage &image);
111 QSharedPointer<QGeoTileTexture> getFromMemory(
const QGeoTileSpec &spec);
112 QSharedPointer<QGeoTileTexture> getFromDisk(
const QGeoTileSpec &spec);
114 virtual bool isTileBogus(
const QByteArray &bytes)
const;
115 virtual QString tileSpecToFilename(
const QGeoTileSpec &spec,
const QString &format,
const QString &directory)
const;
116 virtual QGeoTileSpec filenameToTileSpec(
const QString &filename)
const;
118 QCache3Q<QGeoTileSpec, QGeoCachedTileDisk, QCache3QTileEvictionPolicy> diskCache_;
119 QCache3Q<QGeoTileSpec, QGeoCachedTileMemory> memoryCache_;
120 QCache3Q<QGeoTileSpec, QGeoTileTexture> textureCache_;
124 int minTextureUsage_ = 0;
125 int extraTextureUsage_ = 0;
126 CostStrategy costStrategyDisk_ = ByteSize;
127 CostStrategy costStrategyMemory_ = ByteSize;
128 CostStrategy costStrategyTexture_ = ByteSize;
129 bool isDiskCostSet_ =
false;
130 bool isMemoryCostSet_ =
false;
131 bool isTextureCostSet_ =
false;