aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/doc/snippets/code/src_network_access_qnetworkaccessmanager.cpp
blob: b2002610354e2a61a29ec4ff51bec4850d068373 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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]