/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kglobalaccel.Component.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 KGLOBALACCEL_COMPONENT_INTERFACE_H
#define KGLOBALACCEL_COMPONENT_INTERFACE_H

#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 "kglobalshortcutinfo_p.h"

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

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

    ~OrgKdeKglobalaccelComponentInterface();

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

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

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

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

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
    void globalShortcutPressed(const QString &componentUnique, const QString &actionUnique, qlonglong timestamp);
    void globalShortcutReleased(const QString &componentUnique, const QString &actionUnique, qlonglong timestamp);
    void globalShortcutRepeated(const QString &componentUnique, const QString &actionUnique, qlonglong timestamp);
};

namespace org {
  namespace kde {
    namespace kglobalaccel {
      using Component = ::OrgKdeKglobalaccelComponentInterface;
    }
  }
}

#endif
