/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -N -m -c DSGConfigManager -p manager_interface /build/dtkcore/src/dtkcore/src/dbus/org.desktopspec.ConfigManager.Manager.xml
 *
 * qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef MANAGER_INTERFACE_H
#define MANAGER_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>

/*
 * Proxy class for interface org.desktopspec.ConfigManager.Manager
 */
class DSGConfigManager: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.desktopspec.ConfigManager.Manager"; }

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

    ~DSGConfigManager();

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

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

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QString> description(const QString &key, const QString &language)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(key) << QVariant::fromValue(language);
        return asyncCallWithArgumentList(QStringLiteral("description"), argumentList);
    }

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

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

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

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

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

    inline QDBusPendingReply<> setValue(const QString &key, const QDBusVariant &value)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(key) << QVariant::fromValue(value);
        return asyncCallWithArgumentList(QStringLiteral("setValue"), argumentList);
    }

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

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

Q_SIGNALS: // SIGNALS
    void valueChanged(const QString &key);
};

#endif
