18#ifndef QGSNETWORKDISKCACHE_H
19#define QGSNETWORKDISKCACHE_H
26#include <QNetworkDiskCache>
28class QNetworkDiskCache;
32class ExpirableNetworkDiskCache :
public QNetworkDiskCache
37 explicit ExpirableNetworkDiskCache( QObject *parent =
nullptr ) : QNetworkDiskCache( parent ) {}
38 qint64 runExpire() {
return QNetworkDiskCache::expire(); }
50class CORE_EXPORT QgsNetworkDiskCache :
public QNetworkDiskCache
69 QNetworkCacheMetaData
metaData(
const QUrl &url )
override;
75 QIODevice *
data(
const QUrl &url )
override;
78 bool remove(
const QUrl &url )
override;
87 void insert( QIODevice *device )
override;
90 QNetworkCacheMetaData
fileMetaData(
const QString &fileName )
const;
100 void clear()
override;
107 explicit QgsNetworkDiskCache( QObject *parent );
109 static ExpirableNetworkDiskCache sDiskCache;
110 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.