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 };