19 #ifndef UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
20 #define UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
22 #include <QDBusConnection>
23 #include <QDBusObjectPath>
25 #include <ubuntu/transfers/visibility.h>
26 #include <ubuntu/transfers/system/dbus_connection.h>
37 class QDBusConnection;
41 namespace DownloadManager {
46 class ManagerInterface;
48 class UBUNTU_TRANSFERS_PRIVATE ManagerImpl :
public Manager {
53 friend class DownloadManagerPCW;
54 friend class GroupManagerPCW;
57 virtual ~ManagerImpl();
58 virtual Download* getDownloadForId(
const QString&
id);
59 virtual void createDownload(DownloadStruct downStruct);
60 virtual void createDownload(DownloadStruct downStruct,
63 virtual void createDownload(StructList downs,
64 const QString &algorithm,
66 const QVariantMap &metadata,
68 virtual void createDownload(StructList downs,
69 const QString &algorithm,
71 const QVariantMap &metadata,
75 virtual void getAllDownloads(
const QString &appId,
bool uncollected);
76 virtual void getAllDownloads(
const QString &appId,
80 virtual void getAllDownloadsWithMetadata(
const QString &name,
81 const QString &value);
82 virtual void getAllDownloadsWithMetadata(
const QString &name,
88 Error* lastError()
const;
89 void allowMobileDataDownload(
bool allowed);
90 bool isMobileDataDownload();
91 qulonglong defaultThrottle();
92 void setDefaultThrottle(qulonglong speed);
96 ManagerImpl(
const QDBusConnection& conn,
97 const QString& path =
"",
100 ManagerImpl(
const QDBusConnection& conn,
102 ManagerInterface* interface,
107 void onWatcherDone();
108 void setLastError(
const QDBusError& err);
111 bool _isError =
false;
112 QDBusConnection _conn;
113 QString _servicePath;
114 Error* _lastError =
nullptr;
115 ManagerInterface* _dbusInterface =
nullptr;
122 #endif // UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_H
std::function< void(Download *)> DownloadCb
std::function< void(const QString &, const QString &, DownloadsList *)> MetadataDownloadsListCb
std::function< void(GroupDownload *)> GroupCb
std::function< void(DownloadsList *)> DownloadsListCb