File indexing completed on 2024-05-12 16:23:41
0001 // SPDX-FileCopyrightText: 2020 Jonah BrĂ¼chert <jbb@kaidan.im> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #pragma once 0006 0007 #include <QObject> 0008 0009 #include <memory> 0010 #include <vector> 0011 0012 class QQuickWebEngineDownloadRequest; 0013 using DownloadItem = QQuickWebEngineDownloadRequest; 0014 0015 class DownloadManager 0016 { 0017 public: 0018 static DownloadManager &instance(); 0019 0020 Q_INVOKABLE void addDownload(std::unique_ptr<DownloadItem> &&download); 0021 Q_INVOKABLE void removeDownload(const int index); 0022 const std::vector<std::unique_ptr<DownloadItem>> &downloads(); 0023 0024 private: 0025 DownloadManager(); 0026 0027 std::vector<std::unique_ptr<DownloadItem>> m_downloads; 0028 };