Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qnetworkdiskcache.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 QNETWORKDISKCACHE_H
6#define QNETWORKDISKCACHE_H
7
8#include <QtNetwork/qtnetworkglobal.h>
9#include <QtNetwork/qabstractnetworkcache.h>
10
12
13QT_BEGIN_NAMESPACE
14
15class QNetworkDiskCachePrivate;
16class Q_NETWORK_EXPORT QNetworkDiskCache : public QAbstractNetworkCache
17{
18 Q_OBJECT
19
20public:
21 explicit QNetworkDiskCache(QObject *parent = nullptr);
22 ~QNetworkDiskCache();
23
24 QString cacheDirectory() const;
25 void setCacheDirectory(const QString &cacheDir);
26
27 qint64 maximumCacheSize() const;
28 void setMaximumCacheSize(qint64 size);
29
30 qint64 cacheSize() const override;
31 QNetworkCacheMetaData metaData(const QUrl &url) override;
32 void updateMetaData(const QNetworkCacheMetaData &metaData) override;
33 QIODevice *data(const QUrl &url) override;
34 bool remove(const QUrl &url) override;
35 QIODevice *prepare(const QNetworkCacheMetaData &metaData) override;
36 void insert(QIODevice *device) override;
37
38 QNetworkCacheMetaData fileMetaData(const QString &fileName) const;
39
40public Q_SLOTS:
41 void clear() override;
42
43protected:
44 virtual qint64 expire();
45
46private:
47 Q_DECLARE_PRIVATE(QNetworkDiskCache)
48 Q_DISABLE_COPY(QNetworkDiskCache)
49};
50
51QT_END_NAMESPACE
52
53#endif // QNETWORKDISKCACHE_H
void prepareLayout()
Create subdirectories and other housekeeping on the filesystem.
void storeItem(QCacheItem *item)
The QNetworkDiskCache class provides a very basic disk cache.
#define CACHE_VERSION
#define DATA_DIR
#define CACHE_POSTFIX
@ CurrentCacheVersion
#define MAX_COMPRESSION_SIZE
QT_REQUIRE_CONFIG(networkdiskcache)