27 typedef std::pair<QByteArray, QByteArray> RawHeader;
28 typedef QList<RawHeader> RawHeaderList;
29 typedef QHash<QNetworkRequest::Attribute, QVariant> AttributesMap;
31 QNetworkCacheMetaData();
32 QNetworkCacheMetaData(
const QNetworkCacheMetaData &other);
33 ~QNetworkCacheMetaData();
35 QNetworkCacheMetaData &operator=(QNetworkCacheMetaData &&other)
noexcept { swap(other);
return *
this; }
36 QNetworkCacheMetaData &operator=(
const QNetworkCacheMetaData &other);
38 void swap(QNetworkCacheMetaData &other)
noexcept
41 bool operator==(
const QNetworkCacheMetaData &other)
const;
42 inline bool operator!=(
const QNetworkCacheMetaData &other)
const
43 {
return !(*
this == other); }
48 void setUrl(
const QUrl &url);
50 RawHeaderList rawHeaders()
const;
51 void setRawHeaders(
const RawHeaderList &headers);
53 QHttpHeaders headers()
const;
54 void setHeaders(
const QHttpHeaders &headers);
56 QDateTime lastModified()
const;
57 void setLastModified(
const QDateTime &dateTime);
59 QDateTime expirationDate()
const;
60 void setExpirationDate(
const QDateTime &dateTime);
62 bool saveToDisk()
const;
63 void setSaveToDisk(
bool allow);
65 AttributesMap attributes()
const;
66 void setAttributes(
const AttributesMap &attributes);
69 friend class QNetworkCacheMetaDataPrivate;
70 QSharedDataPointer<QNetworkCacheMetaDataPrivate> d;
85 virtual ~QAbstractNetworkCache();
87 virtual QNetworkCacheMetaData metaData(
const QUrl &url) = 0;
88 virtual void updateMetaData(
const QNetworkCacheMetaData &metaData) = 0;
89 virtual QIODevice *data(
const QUrl &url) = 0;
90 virtual bool remove(
const QUrl &url) = 0;
91 virtual qint64 cacheSize()
const = 0;
93 virtual QIODevice *prepare(
const QNetworkCacheMetaData &metaData) = 0;
94 virtual void insert(QIODevice *device) = 0;
97 virtual void clear() = 0;
100 explicit QAbstractNetworkCache(QObject *parent =
nullptr);
101 QAbstractNetworkCache(QAbstractNetworkCachePrivate &dd, QObject *parent);
104 Q_DECLARE_PRIVATE(QAbstractNetworkCache)
105 Q_DISABLE_COPY(QAbstractNetworkCache)