/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -v -c DownloadTrackerAdaptor -p downloadtrackeradaptor.h:downloadtrackeradaptor.cpp -i metatypes.h com.canonical.applications.download.xml
 *
 * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef DOWNLOADTRACKERADAPTOR_H_1374434371
#define DOWNLOADTRACKERADAPTOR_H_1374434371

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
#include "metatypes.h"

/*
 * Proxy class for interface com.canonical.applications.Download
 */
class DownloadTrackerAdaptor: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "com.canonical.applications.Download"; }

public:
    DownloadTrackerAdaptor(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);

    ~DownloadTrackerAdaptor();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<> allowGSMDownload(bool allowed)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(allowed);
        return asyncCallWithArgumentList(QLatin1String("allowGSMDownload"), argumentList);
    }

    inline QDBusPendingReply<> cancel()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("cancel"), argumentList);
    }

    inline QDBusPendingReply<bool> isGSMDownloadAllowed()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("isGSMDownloadAllowed"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> metadata()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("metadata"), argumentList);
    }

    inline QDBusPendingReply<> pause()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("pause"), argumentList);
    }

    inline QDBusPendingReply<qulonglong> progress()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("progress"), argumentList);
    }

    inline QDBusPendingReply<> resume()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("resume"), argumentList);
    }

    inline QDBusPendingReply<> setThrottle(qulonglong speed)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(speed);
        return asyncCallWithArgumentList(QLatin1String("setThrottle"), argumentList);
    }

    inline QDBusPendingReply<> start()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("start"), argumentList);
    }

    inline QDBusPendingReply<qulonglong> throttle()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("throttle"), argumentList);
    }

    inline QDBusPendingReply<qulonglong> totalSize()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("totalSize"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void canceled(bool success);
    void error(const QString &error);
    void finished(const QString &path);
    void paused(bool success);
    void progress(qulonglong received, qulonglong total);
    void resumed(bool success);
    void started(bool success);
};

namespace com {
  namespace canonical {
    namespace applications {
      typedef ::DownloadTrackerAdaptor Download;
    }
  }
}
#endif
