LeechCraft 0.6.70-19214-g121e5318a7
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
standardnamfactory.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <atomic>
12#include <chrono>
13#include <functional>
14#include <QtGlobal>
15#include <QQmlNetworkAccessManagerFactory>
16#include "qmlconfig.h"
17
18class QQmlEngine;
19
20namespace LC::Util
21{
22 class BaseSettingsManager;
23
45 : public QObject
46 , public QQmlNetworkAccessManagerFactory
47 {
48 Q_OBJECT
49
50 const QString Subpath_;
51 public:
55 using CacheSizeGetter_f = std::function<int ()>;
56 private:
57 CacheSizeGetter_f CacheSizeGetter_;
58 std::atomic<std::chrono::seconds> RequestTimeout_;
59 public:
75 StandardNAMFactory (QString subpath,
76 CacheSizeGetter_f getter,
77 BaseSettingsManager& settings,
78 QQmlEngine *engine = nullptr);
79
90 QNetworkAccessManager* create (QObject *parent) override;
91 signals:
92 void requestTimeoutChanged (std::chrono::milliseconds);
93 };
94}
StandardNAMFactory(QString subpath, CacheSizeGetter_f getter, BaseSettingsManager &settings, QQmlEngine *engine=nullptr)
Constructs a new StandardNAMFactory.
QNetworkAccessManager * create(QObject *parent) override
Creates the network access manager with the given parent.
void requestTimeoutChanged(std::chrono::milliseconds)
std::function< int()> CacheSizeGetter_f
The type of the function used to query the cache size by the factory.
#define UTIL_QML_API
Definition qmlconfig.h:16