/*
 * This file was generated by dbusxml2cpp version 0.6
 * Command line was: dbusxml2cpp -m -p avahi_entrygroup_interface /home/qba/src/kdelibs/dnssd/org.freedesktop.Avahi.EntryGroup.xml
 *
 * dbusxml2cpp is Copyright (C) 2006 Trolltech ASA. All rights reserved.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef AVAHI_ENTRYGROUP_INTERFACE_H_1175536773
#define AVAHI_ENTRYGROUP_INTERFACE_H_1175536773

#include <QDBusAbstractInterface>
#include <QDBusConnection>
#include <QDBusReply>
#include <QList>
#include <QMap>
#include <QObject>
#include <QString>
#include <QStringList>
#include <QVariant>

/*
 * Proxy class for interface org.freedesktop.Avahi.EntryGroup
 */
class OrgFreedesktopAvahiEntryGroupInterface : public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    {
        return "org.freedesktop.Avahi.EntryGroup";
    }

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

    ~OrgFreedesktopAvahiEntryGroupInterface() override;

public Q_SLOTS: // METHODS
    inline QDBusReply<void> AddAddress(int interface, int protocol, uint flags, const QString &name, const QString &address)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(flags) << QVariant::fromValue(name)
                     << QVariant::fromValue(address);
        return callWithArgumentList(QDBus::Block, QLatin1String("AddAddress"), argumentList);
    }

    inline QDBusReply<void>
    AddRecord(int interface, int protocol, uint flags, const QString &name, ushort clazz, ushort type, uint ttl, const QByteArray &rdata)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(flags) << QVariant::fromValue(name)
                     << QVariant::fromValue(clazz) << QVariant::fromValue(type) << QVariant::fromValue(ttl) << QVariant::fromValue(rdata);
        return callWithArgumentList(QDBus::Block, QLatin1String("AddRecord"), argumentList);
    }

    inline QDBusReply<void> AddService(int interface,
                                       int protocol,
                                       uint flags,
                                       const QString &name,
                                       const QString &type,
                                       const QString &domain,
                                       const QString &host,
                                       ushort port,
                                       const QList<QByteArray> &txt)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(flags) << QVariant::fromValue(name)
                     << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(host) << QVariant::fromValue(port)
                     << QVariant::fromValue(txt);
        return callWithArgumentList(QDBus::Block, QLatin1String("AddService"), argumentList);
    }

    inline QDBusReply<void>
    AddServiceSubtype(int interface, int protocol, uint flags, const QString &name, const QString &type, const QString &domain, const QString &subtype)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(flags) << QVariant::fromValue(name)
                     << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(subtype);
        return callWithArgumentList(QDBus::Block, QLatin1String("AddServiceSubtype"), argumentList);
    }

    inline QDBusReply<void> Commit()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("Commit"), argumentList);
    }

    inline QDBusReply<void> Free()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("Free"), argumentList);
    }

    inline QDBusReply<int> GetState()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("GetState"), argumentList);
    }

    inline QDBusReply<bool> IsEmpty()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("IsEmpty"), argumentList);
    }

    inline QDBusReply<void> Reset()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("Reset"), argumentList);
    }

    inline QDBusReply<void>
    UpdateServiceTxt(int interface, int protocol, uint flags, const QString &name, const QString &type, const QString &domain, const QList<QByteArray> &txt)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(flags) << QVariant::fromValue(name)
                     << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(txt);
        return callWithArgumentList(QDBus::Block, QLatin1String("UpdateServiceTxt"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void StateChanged(int state, const QString &error);
};

namespace org
{
namespace freedesktop
{
namespace Avahi
{
typedef ::OrgFreedesktopAvahiEntryGroupInterface EntryGroup;
}
}
}
#endif
