Coverage Report

Created: 2026-10-28 07:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/qtbase/src/network/access/qabstractnetworkcache.h
Line
Count
Source
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
0
    QNetworkCacheMetaData &operator=(QNetworkCacheMetaData &&other) noexcept { swap(other); return *this; }
36
    QNetworkCacheMetaData &operator=(const QNetworkCacheMetaData &other);
37
38
    void swap(QNetworkCacheMetaData &other) noexcept
39
0
    { d.swap(other.d); }
40
41
    bool operator==(const QNetworkCacheMetaData &other) const;
42
    inline bool operator!=(const QNetworkCacheMetaData &other) const
43
0
        { 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
0
Q_DECLARE_SHARED(QNetworkCacheMetaData)
74
0
75
0
Q_NETWORK_EXPORT QDataStream &operator<<(QDataStream &, const QNetworkCacheMetaData &);
76
0
Q_NETWORK_EXPORT QDataStream &operator>>(QDataStream &, QNetworkCacheMetaData &);
77
0
78
0
79
0
class QAbstractNetworkCachePrivate;
80
0
class Q_NETWORK_EXPORT QAbstractNetworkCache : public QObject
81
0
{
82
0
    Q_OBJECT
83
0
84
0
public:
85
0
    virtual ~QAbstractNetworkCache();
86
0
87
0
    virtual QNetworkCacheMetaData metaData(const QUrl &url) = 0;
88
0
    virtual void updateMetaData(const QNetworkCacheMetaData &metaData) = 0;
89
0
    virtual QIODevice *data(const QUrl &url) = 0;
90
0
    virtual bool remove(const QUrl &url) = 0;
91
0
    virtual qint64 cacheSize() const = 0;
92
0
93
0
    virtual QIODevice *prepare(const QNetworkCacheMetaData &metaData) = 0;
94
0
    virtual void insert(QIODevice *device) = 0;
95
0
96
0
public Q_SLOTS:
97
0
    virtual void clear() = 0;
98
0
99
0
protected:
100
0
    explicit QAbstractNetworkCache(QObject *parent = nullptr);
101
0
    QAbstractNetworkCache(QAbstractNetworkCachePrivate &dd, QObject *parent);
102
0
103
0
private:
104
    Q_DECLARE_PRIVATE(QAbstractNetworkCache)
Unexecuted instantiation: QAbstractNetworkCache::d_func()
Unexecuted instantiation: QAbstractNetworkCache::d_func() const
105
    Q_DISABLE_COPY(QAbstractNetworkCache)
106
};
107
108
QT_END_NAMESPACE
109
110
#endif