/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.freedesktop.Avahi.Server.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 AVAHISERVER_H
#define AVAHISERVER_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.freedesktop.Avahi.Server2
 */
class OrgFreedesktopAvahiServer2Interface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.Avahi.Server2"; }

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

    ~OrgFreedesktopAvahiServer2Interface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QDBusObjectPath> AddressResolverPrepare(int interface, int protocol, const QString &address, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(address) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("AddressResolverPrepare"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> DomainBrowserPrepare(int interface, int protocol, const QString &domain, int btype, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(domain) << QVariant::fromValue(btype) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("DomainBrowserPrepare"), argumentList);
    }

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

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

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

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

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

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

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

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

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

    inline QDBusPendingReply<QString> GetNetworkInterfaceNameByIndex(int index)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(index);
        return asyncCallWithArgumentList(QStringLiteral("GetNetworkInterfaceNameByIndex"), argumentList);
    }

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

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

    inline QDBusPendingReply<QDBusObjectPath> HostNameResolverPrepare(int interface, int protocol, const QString &name, int aprotocol, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("HostNameResolverPrepare"), argumentList);
    }

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

    inline QDBusPendingReply<QDBusObjectPath> RecordBrowserPrepare(int interface, int protocol, const QString &name, ushort clazz, ushort type, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(clazz) << QVariant::fromValue(type) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("RecordBrowserPrepare"), argumentList);
    }

    inline QDBusPendingReply<int, int, int, QString, QString, uint> ResolveAddress(int interface, int protocol, const QString &address, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(address) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ResolveAddress"), argumentList);
    }
    inline QDBusReply<int> ResolveAddress(int interface, int protocol, const QString &address, uint flags, int &protocol_, int &aprotocol, QString &address_, QString &name, uint &flags_)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(address) << QVariant::fromValue(flags);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("ResolveAddress"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 6) {
            protocol_ = qdbus_cast<int>(reply.arguments().at(1));
            aprotocol = qdbus_cast<int>(reply.arguments().at(2));
            address_ = qdbus_cast<QString>(reply.arguments().at(3));
            name = qdbus_cast<QString>(reply.arguments().at(4));
            flags_ = qdbus_cast<uint>(reply.arguments().at(5));
        }
        return reply;
    }

    inline QDBusPendingReply<int, int, QString, int, QString, uint> ResolveHostName(int interface, int protocol, const QString &name, int aprotocol, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ResolveHostName"), argumentList);
    }
    inline QDBusReply<int> ResolveHostName(int interface, int protocol, const QString &name, int aprotocol, uint flags, int &protocol_, QString &name_, int &aprotocol_, QString &address, uint &flags_)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("ResolveHostName"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 6) {
            protocol_ = qdbus_cast<int>(reply.arguments().at(1));
            name_ = qdbus_cast<QString>(reply.arguments().at(2));
            aprotocol_ = qdbus_cast<int>(reply.arguments().at(3));
            address = qdbus_cast<QString>(reply.arguments().at(4));
            flags_ = qdbus_cast<uint>(reply.arguments().at(5));
        }
        return reply;
    }

    inline QDBusPendingReply<int, int, QString, QString, QString, QString, int, QString, ushort, QByteArrayList, uint> ResolveService(int interface, int protocol, const QString &name, const QString &type, const QString &domain, int aprotocol, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ResolveService"), argumentList);
    }
    inline QDBusReply<int> ResolveService(int interface, int protocol, const QString &name, const QString &type, const QString &domain, int aprotocol, uint flags, int &protocol_, QString &name_, QString &type_, QString &domain_, QString &host, int &aprotocol_, QString &address, ushort &port, QByteArrayList &txt, uint &flags_)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("ResolveService"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().size() == 11) {
            protocol_ = qdbus_cast<int>(reply.arguments().at(1));
            name_ = qdbus_cast<QString>(reply.arguments().at(2));
            type_ = qdbus_cast<QString>(reply.arguments().at(3));
            domain_ = qdbus_cast<QString>(reply.arguments().at(4));
            host = qdbus_cast<QString>(reply.arguments().at(5));
            aprotocol_ = qdbus_cast<int>(reply.arguments().at(6));
            address = qdbus_cast<QString>(reply.arguments().at(7));
            port = qdbus_cast<ushort>(reply.arguments().at(8));
            txt = qdbus_cast<QByteArrayList>(reply.arguments().at(9));
            flags_ = qdbus_cast<uint>(reply.arguments().at(10));
        }
        return reply;
    }

    inline QDBusPendingReply<QDBusObjectPath> ServiceBrowserPrepare(int interface, int protocol, const QString &type, const QString &domain, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ServiceBrowserPrepare"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> ServiceResolverPrepare(int interface, int protocol, const QString &name, const QString &type, const QString &domain, int aprotocol, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(name) << QVariant::fromValue(type) << QVariant::fromValue(domain) << QVariant::fromValue(aprotocol) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ServiceResolverPrepare"), argumentList);
    }

    inline QDBusPendingReply<QDBusObjectPath> ServiceTypeBrowserPrepare(int interface, int protocol, const QString &domain, uint flags)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(interface) << QVariant::fromValue(protocol) << QVariant::fromValue(domain) << QVariant::fromValue(flags);
        return asyncCallWithArgumentList(QStringLiteral("ServiceTypeBrowserPrepare"), argumentList);
    }

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

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

#endif
// clazy:skip
