/*
 * This file was generated by dbusxml2cpp version 0.6
 * Command line was: dbusxml2cpp -i QtTelepathy/BaseTypes -i QtTelepathy/ChannelStreamedMediaTypes -p channelstreamedmedia.h: ../../xml/tp-chan-type-streamed-media.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 CHANNELSTREAMEDMEDIA_H_1159380630
#define CHANNELSTREAMEDMEDIA_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/ChannelStreamedMediaTypes"

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

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

    ~OrgFreedesktopTelepathyChannelTypeStreamedMediaInterface();

public Q_SLOTS: // METHODS
    inline QDBusReply<org::freedesktop::Telepathy::StreamInfoList> ListStreams()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("ListStreams"), argumentList);
    }

    inline QDBusReply<void> RemoveStreams(org::freedesktop::Telepathy::StreamTypeList streams)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(streams);
        return callWithArgumentList(QDBus::Block, QLatin1String("RemoveStreams"), argumentList);
    }

    inline QDBusReply<void> RequestStreamDirection(uint stream_id, uint stream_direction)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(stream_id) << qVariantFromValue(stream_direction);
        return callWithArgumentList(QDBus::Block, QLatin1String("RequestStreamDirection"), argumentList);
    }

    inline QDBusReply<org::freedesktop::Telepathy::StreamInfoList> RequestStreams(uint contact_handle, org::freedesktop::Telepathy::StreamTypeList types)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(contact_handle) << qVariantFromValue(types);
        return callWithArgumentList(QDBus::Block, QLatin1String("RequestStreams"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void StreamAdded(uint stream_id, uint contact_handle, uint stream_type);
    void StreamDirectionChanged(uint stream_id, uint stream_direction, uint pending_flags);
    void StreamError(uint stream_id, uint errno, const QString &message);
    void StreamRemoved(uint stream_id);
    void StreamStateChanged(uint stream_id, uint stream_state);
};

namespace org {
  namespace freedesktop {
    namespace Telepathy {
          typedef ::OrgFreedesktopTelepathyChannelTypeStreamedMediaInterface ChannelStreamedMedia;
    }
  }
}
#endif
