2020-03-04 16:55:40 +01:00
|
|
|
/*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2022-02-03 11:48:21 +01:00
|
|
|
* Copyright (C) 2020 Raspberry Pi Ltd
|
2020-03-04 16:55:40 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "networkaccessmanagerfactory.h"
|
|
|
|
#include "config.h"
|
|
|
|
#include <QNetworkAccessManager>
|
|
|
|
#include <QNetworkDiskCache>
|
|
|
|
#include <QStandardPaths>
|
|
|
|
#include <QDir>
|
|
|
|
#include <QUrl>
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
/* Configure caching for files downloaded from Internet by QML (e.g. os_list.json and icons) */
|
|
|
|
NetworkAccessManagerFactory::NetworkAccessManagerFactory()
|
2022-07-26 22:45:06 +02:00
|
|
|
: _nr(0)
|
2020-03-04 16:55:40 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
|
|
|
|
{
|
|
|
|
QNetworkAccessManager *nam = new QNetworkAccessManager(parent);
|
2022-07-26 22:45:06 +02:00
|
|
|
auto c = new QNetworkDiskCache(nam);
|
|
|
|
c->setCacheDirectory(QStandardPaths::writableLocation(QStandardPaths::CacheLocation)+QDir::separator()+"oslistcache"+QString::number(_nr++));
|
|
|
|
c->clear();
|
|
|
|
nam->setCache(c);
|
2020-03-04 16:55:40 +01:00
|
|
|
return nam;
|
|
|
|
}
|