18#ifndef QGSNETWORKDISKCACHE_H
19#define QGSNETWORKDISKCACHE_H
25#include <QNetworkDiskCache>
29class QNetworkDiskCache;
33class ExpirableNetworkDiskCache :
public QNetworkDiskCache
38 explicit ExpirableNetworkDiskCache( QObject *parent =
nullptr ) : QNetworkDiskCache( parent ) {}
39 qint64 runExpire() {
return QNetworkDiskCache::expire(); }
51class CORE_EXPORT QgsNetworkDiskCache :
public QNetworkDiskCache
70 QNetworkCacheMetaData
metaData(
const QUrl &url )
override;
76 QIODevice *
data(
const QUrl &url )
override;
79 bool remove(
const QUrl &url )
override;
88 void insert( QIODevice *device )
override;
91 QNetworkCacheMetaData
fileMetaData(
const QString &fileName )
const;
101 void clear()
override;
108 explicit QgsNetworkDiskCache( QObject *parent );
110 static ExpirableNetworkDiskCache sDiskCache;
111 static QMutex sDiskCacheMutex;
void setCacheDirectory(const QString &cacheDir)
QIODevice * data(const QUrl &url) override
void updateMetaData(const QNetworkCacheMetaData &metaData) override
QNetworkCacheMetaData metaData(const QUrl &url) override
qint64 maximumCacheSize() const
QNetworkCacheMetaData fileMetaData(const QString &fileName) const
friend class QgsNetworkAccessManager
void insert(QIODevice *device) override
QIODevice * prepare(const QNetworkCacheMetaData &metaData) override
bool remove(const QUrl &url) override
void setMaximumCacheSize(qint64 size)
qint64 cacheSize() const override
QString cacheDirectory() const
static qint64 smartCacheSize(const QString &path)
Returns a smart cache size, in bytes, based on available free space.