[Telepathy-commits] [telepathy-qt4/master] StreamedMediaChannel: sketch out a higher-level API
Simon McVittie
simon.mcvittie at collabora.co.uk
Mon Mar 23 06:26:21 PDT 2009
---
TelepathyQt4/Client/streamed-media-channel.h | 72 ++++++++++++++++++++++++++
1 files changed, 72 insertions(+), 0 deletions(-)
diff --git a/TelepathyQt4/Client/streamed-media-channel.h b/TelepathyQt4/Client/streamed-media-channel.h
index 17065d7..936e99a 100644
--- a/TelepathyQt4/Client/streamed-media-channel.h
+++ b/TelepathyQt4/Client/streamed-media-channel.h
@@ -32,6 +32,61 @@ namespace Telepathy
namespace Client
{
+class StreamedMediaChannel;
+
+class MediaStream : public QObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(MediaStream)
+
+#if 0
+public:
+ StreamedMediaChannel *channel() const;
+ uint streamId() const;
+
+ QSharedPointer<Contact> contact() const;
+ Telepathy::MediaStreamState state() const;
+ Telepathy::MediaStreamType type() const;
+
+ bool sending() const;
+ bool receiving() const;
+ bool localSendingRequested() const;
+ bool remoteSendingRequested() const;
+
+ Telepathy::MediaStreamDirection direction() const;
+ Telepathy::MediaStreamPendingSend pendingSend() const;
+
+public Q_SLOTS:
+ PendingOperation *remove();
+ PendingOperation *requestStreamDirection(bool send, bool receive);
+ PendingOperation *requestStreamDirection(
+ Telepathy::MediaStreamDirection direction);
+
+Q_SIGNALS:
+ void directionChanged(Telepathy::Client::MediaStream *stream,
+ bool sending, bool receiving, bool localSendingRequested,
+ bool remoteSendingRequested);
+ void error(Telepathy::Client::MediaStream *stream,
+ Telepathy::MediaStreamError code, const QString &debugMessage);
+ void stateChanged(Telepathy::Client::MediaStream *stream);
+ void removed(Telepathy::Client::MediaStream *stream);
+
+private:
+ friend class StreamedMediaChannel;
+
+ MediaStream(StreamedMediaChannel *parent, uint streamId, uint
+ contactHandle, MediaStreamType type,
+ MediaStreamState state, MediaStreamDirection direction,
+ MediaStreamPendingSend pendingSend) const;
+
+ struct Private;
+ friend struct Private;
+ Private *mPriv;
+#endif
+};
+
+typedef QSet<QSharedPointer<MediaStream> > MediaStreams;
+
class StreamedMediaChannel : public Channel
{
Q_OBJECT
@@ -42,6 +97,23 @@ public:
const QVariantMap &immutableProperties, QObject *parent = 0);
~StreamedMediaChannel();
+#if 0
+public:
+ MediaStreams streams() const;
+ bool awaitingLocalAnswer() const;
+ bool awaitingRemoteAnswer() const;
+
+public Q_SLOTS:
+ PendingOperation *acceptCall();
+
+ PendingOperation *removeStreams(MediaStreams streams);
+ PendingOperation *removeStreams(QSet<uint> streams);
+
+ PendingOperation *requestStreams(
+ QSharedPointer<Telepathy::Client::Contact> contact,
+ QList<Telepathy::MediaStreamType> types);
+#endif
+
private:
struct Private;
friend struct Private;
--
1.5.6.5
More information about the telepathy-commits
mailing list