19 #ifndef UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
20 #define UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
22 #include <QDBusConnection>
23 #include <QDBusObjectPath>
24 #include <ubuntu/transfers/visibility.h>
25 #include <ubuntu/transfers/system/dbus_connection.h>
34 class QDBusConnection;
38 namespace DownloadManager {
43 class ManagerInterface;
45 class UBUNTU_TRANSFERS_PRIVATE ManagerImpl :
public Manager {
50 friend class DownloadManagerPCW;
51 friend class GroupManagerPCW;
54 virtual ~ManagerImpl();
55 virtual Download* getDownloadForId(
const QString&
id);
56 virtual void createDownload(DownloadStruct downStruct);
57 virtual void createDownload(DownloadStruct downStruct,
60 virtual void createDownload(StructList downs,
61 const QString &algorithm,
63 const QVariantMap &metadata,
65 virtual void createDownload(StructList downs,
66 const QString &algorithm,
68 const QVariantMap &metadata,
72 virtual void getAllDownloads();
75 virtual void getAllDownloadsWithMetadata(
const QString &name,
76 const QString &value);
77 virtual void getAllDownloadsWithMetadata(
const QString &name,
83 Error* lastError()
const;
84 void allowMobileDataDownload(
bool allowed);
85 bool isMobileDataDownload();
86 qulonglong defaultThrottle();
87 void setDefaultThrottle(qulonglong speed);
91 ManagerImpl(
const QDBusConnection& conn,
92 const QString& path =
"",
95 ManagerImpl(
const QDBusConnection& conn,
97 ManagerInterface* interface,
102 void onWatcherDone();
103 void setLastError(
const QDBusError& err);
106 bool _isError =
false;
107 QDBusConnection _conn;
108 QString _servicePath;
109 Error* _lastError =
nullptr;
110 ManagerInterface* _dbusInterface =
nullptr;
118 #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