/*
 * This file was generated by qdbusxml2cpp version 0.7
 * Command line was: qdbusxml2cpp -N -m -p deviceinterface /build/kdeconnect/src/build/core/org.kde.kdeconnect.device.xml
 *
 * qdbusxml2cpp is Copyright (C) 2014 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 DEVICEINTERFACE_H_1411891712
#define DEVICEINTERFACE_H_1411891712

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>

/*
 * Proxy class for interface org.kde.kdeconnect.device
 */
class OrgKdeKdeconnectDeviceInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.kde.kdeconnect.device"; }

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

    ~OrgKdeKdeconnectDeviceInterface();

    Q_PROPERTY(QString iconName READ iconName)
    inline QString iconName() const
    { return qvariant_cast< QString >(property("iconName")); }

    Q_PROPERTY(QString id READ id)
    inline QString id() const
    { return qvariant_cast< QString >(property("id")); }

    Q_PROPERTY(QString name READ name)
    inline QString name() const
    { return qvariant_cast< QString >(property("name")); }

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QStringList> availableLinks()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QLatin1String("availableLinks"), argumentList);
    }

    inline QDBusPendingReply<bool> hasPlugin(const QString &name)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(name);
        return asyncCallWithArgumentList(QLatin1String("hasPlugin"), argumentList);
    }

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

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
    void pairingFailed(const QString &error);
    void pairingSuccesful();
    void pluginsChanged();
    void reachableStatusChanged();
    void unpaired();
};

#endif
