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();
 
   64     void allowMobileDownload(
bool allowed);
 
   65     bool isMobileDownloadAllowed();
 
   67     void setDestinationDir(
const QString& path);
 
   68     void setHeaders(QMap<QString, QString> headers);
 
   69     QMap<QString, QString> headers();
 
   70     QVariantMap metadata();
 
   71     void setMetadata(QVariantMap map);
 
   72     void setThrottle(qulonglong speed);
 
   73     qulonglong throttle();
 
   78     qulonglong progress();
 
   79     qulonglong totalSize();
 
   84     QString clickPackage() 
const;
 
   85     bool showInIndicator() 
const;
 
   86     QString title() 
const;
 
   87     QString destinationApp() 
const;
 
   90     DownloadImpl(
const QDBusConnection& conn, Error* err, 
QObject* parent = 0);
 
   91     DownloadImpl(
const QDBusConnection& conn,
 
   92                  const QString& servicePath,
 
   93                  const QDBusObjectPath& objectPath,
 
   97     void setLastError(Error* err);
 
   98     void setLastError(
const QDBusError& err);
 
   99     void onHttpError(HttpErrorStruct);
 
  100     void onNetworkError(NetworkErrorStruct);
 
  101     void onProcessError(ProcessErrorStruct);
 
  102     void onAuthError(AuthErrorStruct);
 
  103     void onHashError(HashErrorStruct);
 
  104     void onPropertiesChanged(
const QString& interfaceName,
 
  105                              const QVariantMap& changedProperties,
 
  106                              const QStringList& invalidatedProperties);
 
  107     void onFinished(
const QString& path);
 
  111     bool _isError = 
false;
 
  112     Error* _lastError = 
nullptr;
 
  113     DownloadInterface* _dbusInterface = 
nullptr;
 
  115     QDBusConnection _conn;
 
  116     QString _servicePath;