/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kdeconnect.device.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef KDECONNECT_DEVICE_INTERFACE_H
#define KDECONNECT_DEVICE_INTERFACE_H

#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QObject>
#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 = nullptr);

    ~OrgKdeKdeconnectDeviceInterface();

    Q_PROPERTY(QStringList activeProviderNames READ activeProviderNames)
    inline QStringList activeProviderNames() const
    {
        return qvariant_cast<QStringList>(property("activeProviderNames"));
    }

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

    Q_PROPERTY(bool isPairRequested READ isPairRequested)
    inline bool isPairRequested() const
    {
        return qvariant_cast<bool>(property("isPairRequested"));
    }

    Q_PROPERTY(bool isPairRequestedByPeer READ isPairRequestedByPeer)
    inline bool isPairRequestedByPeer() const
    {
        return qvariant_cast<bool>(property("isPairRequestedByPeer"));
    }

    Q_PROPERTY(bool isPaired READ isPaired)
    inline bool isPaired() const
    {
        return qvariant_cast<bool>(property("isPaired"));
    }

    Q_PROPERTY(bool isReachable READ isReachable)
    inline bool isReachable() const
    {
        return qvariant_cast<bool>(property("isReachable"));
    }

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

    Q_PROPERTY(int pairState READ pairState)
    inline int pairState() const
    {
        return qvariant_cast<int>(property("pairState"));
    }

    Q_PROPERTY(QStringList reachableAddresses READ reachableAddresses)
    inline QStringList reachableAddresses() const
    {
        return qvariant_cast<QStringList>(property("reachableAddresses"));
    }

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

    Q_PROPERTY(QStringList supportedPlugins READ supportedPlugins)
    inline QStringList supportedPlugins() const
    {
        return qvariant_cast<QStringList>(property("supportedPlugins"));
    }

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

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

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

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

    inline QDBusPendingReply<QString> encryptionInfo()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("encryptionInfo"), argumentList);
    }

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

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

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

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

    inline QDBusPendingReply<bool> isPluginEnabled(const QString &pluginName)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(pluginName);
        return asyncCallWithArgumentList(QStringLiteral("isPluginEnabled"), argumentList);
    }

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

    inline QDBusPendingReply<int> pairStateAsInt()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("pairStateAsInt"), argumentList);
    }

    inline QDBusPendingReply<QString> pluginIconName(const QString &pluginName)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(pluginName);
        return asyncCallWithArgumentList(QStringLiteral("pluginIconName"), argumentList);
    }

    inline QDBusPendingReply<QString> pluginsConfigFile()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("pluginsConfigFile"), argumentList);
    }

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

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

    inline QDBusPendingReply<> setPluginEnabled(const QString &pluginName, bool enabled)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(pluginName) << QVariant::fromValue(enabled);
        return asyncCallWithArgumentList(QStringLiteral("setPluginEnabled"), argumentList);
    }

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

    inline QDBusPendingReply<QString> verificationKey()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("verificationKey"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void linksChanged();
    void nameChanged(const QString &name);
    void pairStateChanged(int pairState);
    void pairingFailed(const QString &error);
    void pluginsChanged();
    void reachableChanged(bool reachable);
    void statusIconNameChanged();
    void typeChanged(const QString &type);
};

#endif
