18#ifndef QGSNETWORKDISKCACHE_H
19#define QGSNETWORKDISKCACHE_H
25#include <QNetworkDiskCache>
29class QNetworkDiskCache;
33class ExpirableNetworkDiskCache :
public QNetworkDiskCache
38 explicit ExpirableNetworkDiskCache( QObject *parent =
nullptr )
39 : QNetworkDiskCache( parent )
41 qint64 runExpire() {
return QNetworkDiskCache::expire(); }
53class CORE_EXPORT QgsNetworkDiskCache :
public QNetworkDiskCache
71 QNetworkCacheMetaData
metaData(
const QUrl &url )
override;
77 QIODevice *
data(
const QUrl &url )
override;
80 bool remove(
const QUrl &url )
override;
89 void insert( QIODevice *device )
override;
92 QNetworkCacheMetaData
fileMetaData(
const QString &fileName )
const;
102 void clear()
override;
109 explicit QgsNetworkDiskCache( QObject *parent );
111 static ExpirableNetworkDiskCache sDiskCache;
112 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.