19#ifndef LOMIRI_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
20#define LOMIRI_DOWNLOADMANAGER_CLIENT_MANAGER_IMPL_H
22#include <QDBusConnection>
23#include <QDBusObjectPath>
25#include <lomiri/transfers/visibility.h>
26#include <lomiri/transfers/system/dbus_connection.h>
41namespace DownloadManager {
46class ManagerInterface;
48class LOMIRI_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,
79 DownloadsListCb errCb);
80 virtual void getAllDownloadsWithMetadata(
const QString &name,
81 const QString &value);
82 virtual void getAllDownloadsWithMetadata(
const QString &name,
84 MetadataDownloadsListCb cb,
85 MetadataDownloadsListCb errCb);
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;