From 3932371cd12ae7ec0812fbb2db3315448e18f1a8 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Sun, 11 Oct 2020 21:17:34 +0200 Subject: Use proxy for ModList, PluginList and DownloadManager. Do not use registered callbacks when plugin is inactive. --- src/downloadmanagerproxy.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/downloadmanagerproxy.h (limited to 'src/downloadmanagerproxy.h') diff --git a/src/downloadmanagerproxy.h b/src/downloadmanagerproxy.h new file mode 100644 index 00000000..f41b60c6 --- /dev/null +++ b/src/downloadmanagerproxy.h @@ -0,0 +1,31 @@ +#ifndef DOWNLOADMANAGERPROXY_H +#define DOWNLOADMANAGERPROXY_H + +#include + +class OrganizerProxy; + +class DownloadManagerProxy : public MOBase::IDownloadManager +{ + +public: + + DownloadManagerProxy(OrganizerProxy* oproxy, IDownloadManager* downloadManager); + virtual ~DownloadManagerProxy() { } + + int startDownloadURLs(const QStringList& urls) override; + int startDownloadNexusFile(int modID, int fileID) override; + QString downloadPath(int id) override; + + bool onDownloadComplete(const std::function& callback) override; + bool onDownloadPaused(const std::function& callback) override; + bool onDownloadFailed(const std::function& callback) override; + bool onDownloadRemoved(const std::function& callback) override; + +private: + + OrganizerProxy* m_OrganizerProxy; + IDownloadManager* m_Proxied; +}; + +#endif // ORGANIZERPROXY_H -- cgit v1.3.1