21 #include <QDBusConnection>
22 #include <QDBusObjectPath>
24 #include <QVariantMap>
27 #include <ubuntu/transfers/visibility.h>
28 #include <ubuntu/download_manager/metatypes.h>
37 class QDBusConnection;
38 class QDBusObjectPath;
42 namespace DownloadManager {
45 class UBUNTU_TRANSFERS_PRIVATE DownloadImpl :
public Download {
49 friend class ManagerImpl;
50 friend class DownloadPCW;
51 friend class MetadataDownloadsListManagerPCW;
52 friend class DownloadsListManagerPCW;
53 friend class DownloadManagerPCW;
56 virtual ~DownloadImpl();
63 void allowMobileDownload(
bool allowed);
64 bool isMobileDownloadAllowed();
66 void setDestinationDir(
const QString& path);
67 void setHeaders(QMap<QString, QString> headers);
68 QMap<QString, QString> headers();
69 QVariantMap metadata();
70 void setMetadata(QVariantMap map);
71 void setThrottle(qulonglong speed);
72 qulonglong throttle();
75 qulonglong progress();
76 qulonglong totalSize();
81 QString clickPackage()
const;
82 bool showInIndicator()
const;
83 QString title()
const;
86 DownloadImpl(
const QDBusConnection& conn, Error* err,
QObject* parent = 0);
87 DownloadImpl(
const QDBusConnection& conn,
88 const QString& servicePath,
89 const QDBusObjectPath& objectPath,
93 void setLastError(Error* err);
94 void setLastError(
const QDBusError& err);
95 void onHttpError(HttpErrorStruct);
96 void onNetworkError(NetworkErrorStruct);
97 void onProcessError(ProcessErrorStruct);
98 void onAuthError(AuthErrorStruct);
99 void onHashError(HashErrorStruct);
100 void onPropertiesChanged(
const QString& interfaceName,
101 const QVariantMap& changedProperties,
102 const QStringList& invalidatedProperties);
106 bool _isError =
false;
107 Error* _lastError =
nullptr;
108 DownloadInterface* _dbusInterface =
nullptr;
110 QDBusConnection _conn;
111 QString _servicePath;