/* Generated from Extensions from the future */

#include "TelepathyQt/future-internal.h"

namespace TpFuture
{
 bool operator==(const SocketAddressIP& v1, const SocketAddressIP& v2)
{
    return ((v1.address == v2.address)
            && (v1.port == v2.port)
            );
}

 QDBusArgument& operator<<(QDBusArgument& arg, const SocketAddressIP& val)
{
    arg.beginStructure();
    arg << val.address << val.port;
    arg.endStructure();
    return arg;
}

 const QDBusArgument& operator>>(const QDBusArgument& arg, SocketAddressIP& val)
{
    arg.beginStructure();
    arg >> val.address >> val.port;
    arg.endStructure();
    return arg;
}

 bool operator==(const SocketAddressIPv4& v1, const SocketAddressIPv4& v2)
{
    return ((v1.address == v2.address)
            && (v1.port == v2.port)
            );
}

 QDBusArgument& operator<<(QDBusArgument& arg, const SocketAddressIPv4& val)
{
    arg.beginStructure();
    arg << val.address << val.port;
    arg.endStructure();
    return arg;
}

 const QDBusArgument& operator>>(const QDBusArgument& arg, SocketAddressIPv4& val)
{
    arg.beginStructure();
    arg >> val.address >> val.port;
    arg.endStructure();
    return arg;
}

 bool operator==(const SocketAddressIPv6& v1, const SocketAddressIPv6& v2)
{
    return ((v1.address == v2.address)
            && (v1.port == v2.port)
            );
}

 QDBusArgument& operator<<(QDBusArgument& arg, const SocketAddressIPv6& val)
{
    arg.beginStructure();
    arg << val.address << val.port;
    arg.endStructure();
    return arg;
}

 const QDBusArgument& operator>>(const QDBusArgument& arg, SocketAddressIPv6& val)
{
    arg.beginStructure();
    arg >> val.address >> val.port;
    arg.endStructure();
    return arg;
}

 bool operator==(const SocketNetmaskIPv4& v1, const SocketNetmaskIPv4& v2)
{
    return ((v1.address == v2.address)
            && (v1.prefixLength == v2.prefixLength)
            );
}

 QDBusArgument& operator<<(QDBusArgument& arg, const SocketNetmaskIPv4& val)
{
    arg.beginStructure();
    arg << val.address << val.prefixLength;
    arg.endStructure();
    return arg;
}

 const QDBusArgument& operator>>(const QDBusArgument& arg, SocketNetmaskIPv4& val)
{
    arg.beginStructure();
    arg >> val.address >> val.prefixLength;
    arg.endStructure();
    return arg;
}

 bool operator==(const SocketNetmaskIPv6& v1, const SocketNetmaskIPv6& v2)
{
    return ((v1.address == v2.address)
            && (v1.prefixLength == v2.prefixLength)
            );
}

 QDBusArgument& operator<<(QDBusArgument& arg, const SocketNetmaskIPv6& val)
{
    arg.beginStructure();
    arg << val.address << val.prefixLength;
    arg.endStructure();
    return arg;
}

 const QDBusArgument& operator>>(const QDBusArgument& arg, SocketNetmaskIPv6& val)
{
    arg.beginStructure();
    arg >> val.address >> val.prefixLength;
    arg.endStructure();
    return arg;
}

TP_QT_NO_EXPORT void _registerTypes()
{
    static bool registered = false;
    if (registered)
        return;
    registered = true;

    qDBusRegisterMetaType<TpFuture::ObjectImmutablePropertiesMap>();
    qDBusRegisterMetaType<TpFuture::ObjectImmutablePropertiesMapList>();
    qDBusRegisterMetaType<TpFuture::QualifiedPropertyValueMap>();
    qDBusRegisterMetaType<TpFuture::QualifiedPropertyValueMapList>();
    qDBusRegisterMetaType<TpFuture::SocketAddressIP>();
    qDBusRegisterMetaType<TpFuture::SocketAddressIPList>();
    qDBusRegisterMetaType<TpFuture::SocketAddressIPv4>();
    qDBusRegisterMetaType<TpFuture::SocketAddressIPv6>();
    qDBusRegisterMetaType<TpFuture::SocketNetmaskIPv4>();
    qDBusRegisterMetaType<TpFuture::SocketNetmaskIPv6>();
    qDBusRegisterMetaType<TpFuture::StringStringMap>();
    qDBusRegisterMetaType<TpFuture::StringStringMapList>();
    qDBusRegisterMetaType<TpFuture::StringVariantMap>();
    qDBusRegisterMetaType<TpFuture::StringVariantMapList>();
}

} // namespace TpFuture
