Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qabstractnetworkcache.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QABSTRACTNETWORKCACHE_H
6
#
define
QABSTRACTNETWORKCACHE_H
7
8
#
include
<
QtNetwork
/
qtnetworkglobal
.
h
>
9
#
include
<
QtCore
/
qobject
.
h
>
10
#
include
<
QtCore
/
qshareddata
.
h
>
11
#
include
<
QtNetwork
/
qnetworkrequest
.
h
>
12
13
#
include
<
utility
>
14
15
QT_BEGIN_NAMESPACE
16
17
18
class
QIODevice;
19
class
QDateTime;
20
class
QUrl;
21
22
class
QNetworkCacheMetaDataPrivate
;
23
class
Q_NETWORK_EXPORT
QNetworkCacheMetaData
24
{
25
26
public
:
27
typedef
std::pair<QByteArray, QByteArray> RawHeader;
28
typedef
QList<RawHeader> RawHeaderList;
29
typedef
QHash<QNetworkRequest::Attribute, QVariant> AttributesMap;
30
31
QNetworkCacheMetaData();
32
QNetworkCacheMetaData(
const
QNetworkCacheMetaData &other);
33
~QNetworkCacheMetaData();
34
35
QNetworkCacheMetaData &operator=(QNetworkCacheMetaData &&other)
noexcept
{ swap(other);
return
*
this
; }
36
QNetworkCacheMetaData &operator=(
const
QNetworkCacheMetaData &other);
37
38
void
swap(QNetworkCacheMetaData &other)
noexcept
39
{ d.swap(other.d); }
40
41
bool
operator==(
const
QNetworkCacheMetaData &other)
const
;
42
inline
bool
operator!=(
const
QNetworkCacheMetaData &other)
const
43
{
return
!(*
this
== other); }
44
45
bool
isValid()
const
;
46
47
QUrl url()
const
;
48
void
setUrl(
const
QUrl &url);
49
50
RawHeaderList rawHeaders()
const
;
51
void
setRawHeaders(
const
RawHeaderList &headers);
52
53
QHttpHeaders headers()
const
;
54
void
setHeaders(
const
QHttpHeaders &headers);
55
56
QDateTime lastModified()
const
;
57
void
setLastModified(
const
QDateTime &dateTime);
58
59
QDateTime expirationDate()
const
;
60
void
setExpirationDate(
const
QDateTime &dateTime);
61
62
bool
saveToDisk()
const
;
63
void
setSaveToDisk(
bool
allow);
64
65
AttributesMap attributes()
const
;
66
void
setAttributes(
const
AttributesMap &attributes);
67
68
private
:
69
friend
class
QNetworkCacheMetaDataPrivate;
70
QSharedDataPointer<QNetworkCacheMetaDataPrivate> d;
71
};
72
73
Q_DECLARE_SHARED
(
QNetworkCacheMetaData
)
74
75
Q_NETWORK_EXPORT
QDataStream
&operator<<(QDataStream &,
const
QNetworkCacheMetaData &);
76
Q_NETWORK_EXPORT
QDataStream
&operator>>(QDataStream &, QNetworkCacheMetaData &);
77
78
79
class
QAbstractNetworkCachePrivate
;
80
class
Q_NETWORK_EXPORT
QAbstractNetworkCache
:
public
QObject
81
{
82
Q_OBJECT
83
84
public
:
85
virtual
~QAbstractNetworkCache();
86
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;
92
93
virtual
QIODevice *prepare(
const
QNetworkCacheMetaData &metaData) = 0;
94
virtual
void
insert(QIODevice *device) = 0;
95
96
public
Q_SLOTS:
97
virtual
void
clear() = 0;
98
99
protected
:
100
explicit
QAbstractNetworkCache(QObject *parent =
nullptr
);
101
QAbstractNetworkCache(QAbstractNetworkCachePrivate &dd, QObject *parent);
102
103
private
:
104
Q_DECLARE_PRIVATE(QAbstractNetworkCache)
105
Q_DISABLE_COPY(QAbstractNetworkCache)
106
};
107
108
QT_END_NAMESPACE
109
110
#
endif
QAbstractNetworkCachePrivate
Definition
qabstractnetworkcache_p.h:25
QAbstractNetworkCache
The QAbstractNetworkCache class provides the interface for cache implementations.
Definition
qabstractnetworkcache.h:81
QDataStream
\inmodule QtCore\reentrant
Definition
qdatastream.h:50
QHttpHeaders
Definition
qhttpheaders.h:111
QNetworkCacheMetaDataPrivate
Definition
qabstractnetworkcache.cpp:20
QNetworkCacheMetaDataPrivate::save
static void save(QDataStream &out, const QNetworkCacheMetaData &metaData)
Definition
qabstractnetworkcache.cpp:334
QNetworkCacheMetaDataPrivate::lastModified
QDateTime lastModified
Definition
qabstractnetworkcache.cpp:39
QNetworkCacheMetaDataPrivate::QNetworkCacheMetaDataPrivate
QNetworkCacheMetaDataPrivate()
Definition
qabstractnetworkcache.cpp:23
QNetworkCacheMetaDataPrivate::expirationDate
QDateTime expirationDate
Definition
qabstractnetworkcache.cpp:40
QNetworkCacheMetaDataPrivate::operator==
bool operator==(const QNetworkCacheMetaDataPrivate &other) const
Definition
qabstractnetworkcache.cpp:28
QNetworkCacheMetaDataPrivate::headers
QHttpHeaders headers
Definition
qabstractnetworkcache.cpp:41
QNetworkCacheMetaDataPrivate::saveToDisk
bool saveToDisk
Definition
qabstractnetworkcache.cpp:43
QNetworkCacheMetaDataPrivate::url
QUrl url
Definition
qabstractnetworkcache.cpp:38
QNetworkCacheMetaDataPrivate::load
static void load(QDataStream &in, QNetworkCacheMetaData &metaData)
Definition
qabstractnetworkcache.cpp:387
QNetworkCacheMetaData
The QNetworkCacheMetaData class provides cache information.
Definition
qabstractnetworkcache.h:24
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtbase
src
network
access
qabstractnetworkcache.h
Generated on
for Qt by
1.18.0