/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp -m -p FontinstIface org.kde.fontinst.xml -i Family.h
 *
 * 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.
 */

#pragma once

#include "Family.h"
#include <QByteArray>
#include <QDBusAbstractInterface>
#include <QDBusConnectionInterface>
#include <QDBusMetaType>
#include <QDBusPendingReply>
#include <QDBusReply>
#include <QList>
#include <QMap>
#include <QObject>
#include <QString>
#include <QStringList>
#include <QVariant>

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

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

    ~OrgKdeFontinstInterface() override;

public Q_SLOTS: // METHODS
    inline Q_NOREPLY void disable(const QString &family, uint style, bool inSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(family) << QVariant::fromValue(style) << QVariant::fromValue(inSystem) << QVariant::fromValue(pid)
                     << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("disable"), argumentList);
    }

    inline Q_NOREPLY void enable(const QString &family, uint style, bool inSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(family) << QVariant::fromValue(style) << QVariant::fromValue(inSystem) << QVariant::fromValue(pid)
                     << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("enable"), argumentList);
    }

    inline QDBusPendingReply<QString> folderName(bool sys)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(sys);
        return asyncCallWithArgumentList(QLatin1String("folderName"), argumentList);
    }

    inline Q_NOREPLY void install(const QString &file, bool createAfm, bool toSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(file) << QVariant::fromValue(createAfm) << QVariant::fromValue(toSystem) << QVariant::fromValue(pid)
                     << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("install"), argumentList);
    }

    inline Q_NOREPLY void list(int folders, int pid)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(folders) << QVariant::fromValue(pid);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("list"), argumentList);
    }

    inline Q_NOREPLY void move(const QString &family, uint style, bool toSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(family) << QVariant::fromValue(style) << QVariant::fromValue(toSystem) << QVariant::fromValue(pid)
                     << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("move"), argumentList);
    }

    inline Q_NOREPLY void reconfigure(int pid, bool force)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(pid) << QVariant::fromValue(force);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("reconfigure"), argumentList);
    }

    inline Q_NOREPLY void removeFile(const QString &family, uint style, const QString &file, bool fromSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(family) << QVariant::fromValue(style) << QVariant::fromValue(file) << QVariant::fromValue(fromSystem)
                     << QVariant::fromValue(pid) << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("removeFile"), argumentList);
    }

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

    inline Q_NOREPLY void statFont(const QString &name, int folders, int pid)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(name) << QVariant::fromValue(folders) << QVariant::fromValue(pid);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("statFont"), argumentList);
    }

    inline Q_NOREPLY void uninstall(const QString &name, bool fromSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(name) << QVariant::fromValue(fromSystem) << QVariant::fromValue(pid) << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("uninstall"), argumentList);
    }

    inline Q_NOREPLY void uninstall(const QString &family, uint style, bool fromSystem, int pid, bool checkConfig)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(family) << QVariant::fromValue(style) << QVariant::fromValue(fromSystem) << QVariant::fromValue(pid)
                     << QVariant::fromValue(checkConfig);
        callWithArgumentList(QDBus::NoBlock, QLatin1String("uninstall"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void fontList(int pid, const QList<KFI::Families> &families);
    void fontStat(int pid, const KFI::Family &family);
    void fontsAdded(const KFI::Families &families);
    void fontsRemoved(const KFI::Families &families);
    void status(int pid, int value);
};

namespace org::kde
{
typedef ::OrgKdeFontinstInterface fontinst;
}
