/*
 * This file was generated by dbusxml2cpp version 0.6
 * Command line was: dbusxml2cpp -i QtTelepathy/BaseTypes -i QtTelepathy/ConnectionTypes -p connection.h: ../../xml/tp-conn.xml
 *
 * dbusxml2cpp is Copyright (C) 2006 Trolltech AS. All rights reserved.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef CONNECTION_H_1159380630
#define CONNECTION_H_1159380630

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
#include "QtTelepathy/Common/BaseTypes"
#include "QtTelepathy/Common/ConnectionTypes"

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

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

    ~OrgFreedesktopTelepathyConnectionInterface();

public Q_SLOTS: // METHODS
    inline QDBusReply<void> Connect()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("Connect"), argumentList);
    }

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

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

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

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

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

    inline QDBusReply<void> HoldHandles(uint handle_type, const QList<uint> &handles)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(handle_type) << qVariantFromValue(handles);
        return callWithArgumentList(QDBus::Block, QLatin1String("HoldHandles"), argumentList);
    }

    inline QDBusReply<QStringList> InspectHandles(uint handle_type, const QList<uint> &handles)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(handle_type) << qVariantFromValue(handles);
        return callWithArgumentList(QDBus::Block, QLatin1String("InspectHandles"), argumentList);
    }

    inline QDBusReply<org::freedesktop::Telepathy::ChannelInfoList> ListChannels()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("ListChannels"), argumentList);
    }

    inline QDBusReply<void> ReleaseHandles(uint handle_type, const QList<uint> &handles)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(handle_type) << qVariantFromValue(handles);
        return callWithArgumentList(QDBus::Block, QLatin1String("ReleaseHandles"), argumentList);
    }

    inline QDBusReply<QDBusObjectPath> RequestChannel(const QString &type, uint handle_type, uint handle, bool suppress_handler)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(type) << qVariantFromValue(handle_type) << qVariantFromValue(handle) << qVariantFromValue(suppress_handler);
        return callWithArgumentList(QDBus::Block, QLatin1String("RequestChannel"), argumentList);
    }

    inline QDBusReply<QList<uint> > RequestHandles(uint handle_type, const QStringList &names)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(handle_type) << qVariantFromValue(names);
        return callWithArgumentList(QDBus::Block, QLatin1String("RequestHandles"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void NewChannel(const QDBusObjectPath &object_path, const QString &channel_type, uint handle_type, uint handle, bool suppress_handler);
    void StatusChanged(uint status, uint reason);
};

namespace org {
  namespace freedesktop {
    namespace Telepathy {
      typedef ::OrgFreedesktopTelepathyConnectionInterface Connection;
    }
  }
}
#endif
