File indexing completed on 2024-05-12 05:22:15
0001 /* 0002 * This file is part of LibKGAPI library 0003 * 0004 * SPDX-FileCopyrightText: 2018 Daniel Vrátil <dvratil@kde.org> 0005 * 0006 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #pragma once 0010 0011 class QNetworkAccessManager; 0012 class QObject; 0013 0014 #include "kgapicore_export.h" 0015 0016 #include <memory> 0017 0018 namespace KGAPI2 0019 { 0020 0021 // Export for use in unit-tests, header not installed though 0022 class KGAPICORE_EXPORT NetworkAccessManagerFactory 0023 { 0024 public: 0025 virtual ~NetworkAccessManagerFactory() = default; 0026 0027 static NetworkAccessManagerFactory *instance(); 0028 static void setFactory(NetworkAccessManagerFactory *factory); 0029 0030 virtual QNetworkAccessManager *networkAccessManager(QObject *parent = nullptr) const = 0; 0031 0032 protected: 0033 static std::unique_ptr<NetworkAccessManagerFactory> sInstance; 0034 0035 explicit NetworkAccessManagerFactory() = default; 0036 }; 0037 0038 }