aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp')
-rw-r--r--src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp b/src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
new file mode 100644
index 0000000000..b200261035
--- /dev/null
+++ b/src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
@@ -0,0 +1,24 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+//! [0]
+class CachingNetworkAccessManagerFactory : public QQmlNetworkAccessManagerFactory
+{
+public:
+
+ inline QNetworkAccessManager *create(QObject *parent) override
+ {
+ QNetworkAccessManager *networkAccessManager = new QNetworkAccessManager(parent);
+ QNetworkDiskCache *diskCache = new QNetworkDiskCache(parent);
+ diskCache->setCacheDirectory("requestCache");
+ networkAccessManager->setCache(diskCache);
+
+ return networkAccessManager;
+ }
+};
+//! [0]
+
+//! [1]
+CachingNetworkAccessManagerFactory networkManagerFactory;
+engine->setNetworkAccessManagerFactory(&networkManagerFactory);
+//! [1]