summaryrefslogtreecommitdiff
path: root/src/downloadmanagerproxy.h
blob: f41b60c6adff84c00b26dd2f660a7caeca2a1684 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef DOWNLOADMANAGERPROXY_H
#define DOWNLOADMANAGERPROXY_H

#include <idownloadmanager.h>

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<void(int)>& callback) override;
  bool onDownloadPaused(const std::function<void(int)>& callback) override;
  bool onDownloadFailed(const std::function<void(int)>& callback) override;
  bool onDownloadRemoved(const std::function<void(int)>& callback) override;

private:

  OrganizerProxy* m_OrganizerProxy;
  IDownloadManager* m_Proxied;
};

#endif // ORGANIZERPROXY_H