/*
 * This file was generated by dbusxml2cpp version 0.6
 * Command line was: dbusxml2cpp -i QtTelepathy/Common/BaseTypes -i QtTelepathy/Common/ChannelStreamedMediaTypes -a include/QtTelepathy/Core/channelstreamedmediaadaptor.h: xml/tp-chan-type-streamed-media.xml
 *
 * dbusxml2cpp is Copyright (C) 2006 Trolltech ASA. All rights reserved.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#ifndef CHANNELSTREAMEDMEDIAADAPTOR_H_1172489891
#define CHANNELSTREAMEDMEDIAADAPTOR_H_1172489891

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "QtTelepathy/Common/BaseTypes"
#include "QtTelepathy/Common/ChannelStreamedMediaTypes"
class QByteArray;
template<class T> class QList;
template<class Key, class Value> class QMap;
class QString;
class QStringList;
class QVariant;

/*
 * Adaptor class for interface org.freedesktop.Telepathy.Channel.Type.StreamedMedia
 */
class StreamedMediaAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.freedesktop.Telepathy.Channel.Type.StreamedMedia")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.freedesktop.Telepathy.Channel.Type.StreamedMedia\" >\n"
"    <method name=\"ListStreams\" >\n"
"      <annotation value=\"org::freedesktop::Telepathy::StreamInfoList\" name=\"com.trolltech.QtDBus.QtTypeName.Out0\" />\n"
"      <arg direction=\"out\" type=\"a(uuuuuu)\" />\n"
"    </method>\n"
"    <method name=\"RemoveStreams\" >\n"
"      <annotation value=\"org::freedesktop::Telepathy::StreamTypeList\" name=\"com.trolltech.QtDBus.QtTypeName.In0\" />\n"
"      <arg direction=\"in\" type=\"au\" name=\"streams\" />\n"
"    </method>\n"
"    <method name=\"RequestStreamDirection\" >\n"
"      <arg direction=\"in\" type=\"u\" name=\"stream_id\" />\n"
"      <arg direction=\"in\" type=\"u\" name=\"stream_direction\" />\n"
"    </method>\n"
"    <method name=\"RequestStreams\" >\n"
"      <annotation value=\"org::freedesktop::Telepathy::StreamTypeList\" name=\"com.trolltech.QtDBus.QtTypeName.In1\" />\n"
"      <annotation value=\"org::freedesktop::Telepathy::StreamInfoList\" name=\"com.trolltech.QtDBus.QtTypeName.Out0\" />\n"
"      <arg direction=\"in\" type=\"u\" name=\"contact_handle\" />\n"
"      <arg direction=\"in\" type=\"au\" name=\"types\" />\n"
"      <arg direction=\"out\" type=\"a(uuuuuu)\" />\n"
"    </method>\n"
"    <signal name=\"StreamAdded\" >\n"
"      <arg type=\"u\" name=\"stream_id\" />\n"
"      <arg type=\"u\" name=\"contact_handle\" />\n"
"      <arg type=\"u\" name=\"stream_type\" />\n"
"    </signal>\n"
"    <signal name=\"StreamDirectionChanged\" >\n"
"      <arg type=\"u\" name=\"stream_id\" />\n"
"      <arg type=\"u\" name=\"stream_direction\" />\n"
"      <arg type=\"u\" name=\"pending_flags\" />\n"
"    </signal>\n"
"    <signal name=\"StreamError\" >\n"
"      <arg type=\"u\" name=\"stream_id\" />\n"
"      <arg type=\"u\" name=\"errno\" />\n"
"      <arg type=\"s\" name=\"message\" />\n"
"    </signal>\n"
"    <signal name=\"StreamRemoved\" >\n"
"      <arg type=\"u\" name=\"stream_id\" />\n"
"    </signal>\n"
"    <signal name=\"StreamStateChanged\" >\n"
"      <arg type=\"u\" name=\"stream_id\" />\n"
"      <arg type=\"u\" name=\"stream_state\" />\n"
"    </signal>\n"
"  </interface>\n"
        "")
public:
    StreamedMediaAdaptor(QObject *parent);
    virtual ~StreamedMediaAdaptor();

public: // PROPERTIES
public Q_SLOTS: // METHODS
    org::freedesktop::Telepathy::StreamInfoList ListStreams();
    void RemoveStreams(org::freedesktop::Telepathy::StreamTypeList streams);
    void RequestStreamDirection(uint stream_id, uint stream_direction);
    org::freedesktop::Telepathy::StreamInfoList RequestStreams(uint contact_handle, org::freedesktop::Telepathy::StreamTypeList types);
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);
};

#endif
