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/system/dbus_connection.h>
33 class QDBusConnection;
37 namespace DownloadManager {
42 class ManagerInterface;
44 class ManagerImpl :
public Manager {
49 friend class DownloadManagerPCW;
50 friend class GroupManagerPCW;
53 virtual ~ManagerImpl();
60 const QString &algorithm,
62 const QVariantMap &metadata,
65 const QString &algorithm,
67 const QVariantMap &metadata,
75 const QString &value);
90 ManagerImpl(
const QDBusConnection& conn,
91 const QString& path =
"",
94 ManagerImpl(
const QDBusConnection& conn,
96 ManagerInterface* interface,
101 void onWatcherDone();
102 void setLastError(
const QDBusError& err);
105 bool _isError =
false;
106 QDBusConnection _conn;
107 QString _servicePath;
108 Error* _lastError =
nullptr;
109 ManagerInterface* _dbusInterface =
nullptr;
117 #endif // UBUNTU_DOWNLOADMANAGER_CLIENT_MANAGER_H
std::function< void(Download *)> DownloadCb
std::function< void(const QString &, const QString &, DownloadsList *)> MetadataDownloadsListCb
virtual void getAllDownloads()=0
virtual void createDownload(DownloadStruct downStruct)=0
virtual Error * lastError() const =0
virtual void allowMobileDataDownload(bool allowed)=0
virtual bool isError() const =0
virtual bool isMobileDataDownload()=0
virtual void setDefaultThrottle(qulonglong speed)=0
Manager(QObject *parent=0)
std::function< void(GroupDownload *)> GroupCb
std::function< void(DownloadsList *)> DownloadsListCb
virtual void getAllDownloadsWithMetadata(const QString &name, const QString &value)=0
virtual qulonglong defaultThrottle()=0
virtual Download * getDownloadForId(const QString &id)=0