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
src_network_access_qnetworkdiskcache.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
4//! [0]
5QNetworkAccessManager *manager = new QNetworkAccessManager(this);
6QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
7QString directory = QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
8 + QLatin1StringView("/cacheDir/");
9diskCache->setCacheDirectory(directory);
10manager->setCache(diskCache);
11//! [0]
12
13//! [1]
14using namespace Qt::StringLiterals;
15// do a normal request (preferred from network, as this is the default)
16QNetworkRequest request(QUrl(u"http://qt-project.org"_s));
17manager->get(request);
18
19// do a request preferred from cache
20QNetworkRequest request2(QUrl(u"http://qt-project.org"_s));
21request2.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
22manager->get(request2);
23//! [1]
24
25//! [2]
26void replyFinished(QNetworkReply *reply) {
27 QVariant fromCache = reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute);
28 qDebug() << "page from cache?" << fromCache.toBool();
29}
30//! [2]
QNetworkAccessManager manager
[0]
QNetworkRequest request(url)
[0]
QNetworkRequest request2(QUrl(u"http://qt-project.org"_s))
QNetworkDiskCache * diskCache
void replyFinished(QNetworkReply *reply)
[1]