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