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();
78 virtual void getAllDownloadsWithMetadata(
const QString &name,
79 const QString &value);
80 virtual void getAllDownloadsWithMetadata(
const QString &name,
86 Error* lastError()
const;
87 void allowMobileDataDownload(
bool allowed);
88 bool isMobileDataDownload();
89 qulonglong defaultThrottle();
90 void setDefaultThrottle(qulonglong speed);
94 ManagerImpl(
const QDBusConnection& conn,
95 const QString& path =
"",
98 ManagerImpl(
const QDBusConnection& conn,
100 ManagerInterface* interface,
105 void onWatcherDone();
106 void setLastError(
const QDBusError& err);
109 bool _isError =
false;
110 QDBusConnection _conn;
111 QString _servicePath;
112 Error* _lastError =
nullptr;
113 ManagerInterface* _dbusInterface =
nullptr;
120 #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