Move ThreadSafeNetworkDiskCache to own file

This commit is contained in:
Jonas Kvinge
2020-12-09 18:41:07 +01:00
parent 3112c34d11
commit 8ed1ce4103
5 changed files with 173 additions and 98 deletions

View File

@@ -27,15 +27,10 @@
#include <QtGlobal>
#include <QObject>
#include <QNetworkAccessManager>
#include <QAbstractNetworkCache>
#include <QMutex>
#include <QUrl>
#include <QNetworkRequest>
#include <QNetworkCacheMetaData>
class QIODevice;
class QNetworkReply;
class QNetworkDiskCache;
class NetworkAccessManager : public QNetworkAccessManager {
Q_OBJECT
@@ -47,25 +42,4 @@ class NetworkAccessManager : public QNetworkAccessManager {
QNetworkReply *createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData) override;
};
class ThreadSafeNetworkDiskCache : public QAbstractNetworkCache {
public:
explicit ThreadSafeNetworkDiskCache(QObject *parent);
~ThreadSafeNetworkDiskCache() override;
qint64 cacheSize() const override;
QIODevice *data(const QUrl &url) override;
void insert(QIODevice *device) override;
QNetworkCacheMetaData metaData(const QUrl &url) override;
QIODevice *prepare(const QNetworkCacheMetaData &metaData) override;
bool remove(const QUrl &url) override;
void updateMetaData(const QNetworkCacheMetaData &metaData) override;
void clear() override;
private:
static QMutex sMutex;
static ThreadSafeNetworkDiskCache *sInstance;
static QNetworkDiskCache *sCache;
};
#endif // NETWORK_H