RestLink 2.2.0
Powerfull Rest Client for Qt
Loading...
Searching...
No Matches
cache.h
1#ifndef RESTLINK_CACHE_H
2#define RESTLINK_CACHE_H
3
4#include <RestLink/global.h>
5
6#include <QtNetwork/qabstractnetworkcache.h>
7
8namespace RestLink {
9
10class CachePrivate;
11class RESTLINK_EXPORT Cache : public QAbstractNetworkCache
12{
13 Q_OBJECT
14 Q_PROPERTY(qint64 maxCacheSize READ maxCacheSize WRITE setMaxCacheSize NOTIFY maxCacheSizeChanged FINAL)
15
16public:
17 explicit Cache(QObject *parent = nullptr);
18 ~Cache();
19
20 qint64 maxCacheSize() const;
21 Q_SLOT void setMaxCacheSize(qint64 size);
22 Q_SIGNAL void maxCacheSizeChanged(qint64 size);
23
24 QNetworkCacheMetaData metaData(const QUrl &url) override;
25 void updateMetaData(const QNetworkCacheMetaData &metaData) override;
26 QIODevice *data(const QUrl &url) override;
27 bool remove(const QUrl &url) override;
28 qint64 cacheSize() const override;
29 QIODevice *prepare(const QNetworkCacheMetaData &metaData) override;
30 void insert(QIODevice *device) override;
31 Q_SLOT void clear() override;
32
33private:
34 QScopedPointer<CachePrivate> d;
35};
36
37}
38
39#endif // RESTLINK_CACHE_H