summaryrefslogtreecommitdiff
path: root/src/downloadmanagerproxy.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-10-11 21:17:34 +0200
committerMikaël Capelle <capelle.mikael@gmail.com>2020-10-11 21:17:34 +0200
commit3932371cd12ae7ec0812fbb2db3315448e18f1a8 (patch)
tree9751fce7edd8d6042f3f78bdfecedea520338b83 /src/downloadmanagerproxy.cpp
parent0363b73adb75714c94a7a7cea2840a9c40ee006e (diff)
Use proxy for ModList, PluginList and DownloadManager. Do not use registered callbacks when plugin is inactive.
Diffstat (limited to 'src/downloadmanagerproxy.cpp')
-rw-r--r--src/downloadmanagerproxy.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/downloadmanagerproxy.cpp b/src/downloadmanagerproxy.cpp
new file mode 100644
index 00000000..4a5c9b6b
--- /dev/null
+++ b/src/downloadmanagerproxy.cpp
@@ -0,0 +1,44 @@
+#include "downloadmanagerproxy.h"
+
+#include "proxyutils.h"
+#include "organizerproxy.h"
+
+using namespace MOBase;
+
+DownloadManagerProxy::DownloadManagerProxy(OrganizerProxy* oproxy, IDownloadManager* downloadManager) :
+ m_OrganizerProxy(oproxy), m_Proxied(downloadManager) { }
+
+int DownloadManagerProxy::startDownloadURLs(const QStringList& urls)
+{
+ return m_Proxied->startDownloadURLs(urls);
+}
+
+int DownloadManagerProxy::startDownloadNexusFile(int modID, int fileID)
+{
+ return m_Proxied->startDownloadNexusFile(modID, fileID);
+}
+
+QString DownloadManagerProxy::downloadPath(int id)
+{
+ return m_Proxied->downloadPath(id);
+}
+
+bool DownloadManagerProxy::onDownloadComplete(const std::function<void(int)>& callback)
+{
+ return m_Proxied->onDownloadComplete(MOShared::callIfPluginActive(m_OrganizerProxy, callback));
+}
+
+bool DownloadManagerProxy::onDownloadPaused(const std::function<void(int)>& callback)
+{
+ return m_Proxied->onDownloadPaused(MOShared::callIfPluginActive(m_OrganizerProxy, callback));
+}
+
+bool DownloadManagerProxy::onDownloadFailed(const std::function<void(int)>& callback)
+{
+ return m_Proxied->onDownloadFailed(MOShared::callIfPluginActive(m_OrganizerProxy, callback));
+}
+
+bool DownloadManagerProxy::onDownloadRemoved(const std::function<void(int)>& callback)
+{
+ return m_Proxied->onDownloadRemoved(MOShared::callIfPluginActive(m_OrganizerProxy, callback));
+}