[Telepathy-commits] [telepathy-qt4/master] StreamedMediaChannel: Added removeStreams/requestStreams.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Tue Mar 10 23:01:04 PDT 2009


---
 TelepathyQt4/Client/streamed-media-channel.cpp |   31 ++++++++++++++++++++++-
 TelepathyQt4/Client/streamed-media-channel.h   |    4 +--
 2 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/TelepathyQt4/Client/streamed-media-channel.cpp b/TelepathyQt4/Client/streamed-media-channel.cpp
index 8279be3..3318488 100644
--- a/TelepathyQt4/Client/streamed-media-channel.cpp
+++ b/TelepathyQt4/Client/streamed-media-channel.cpp
@@ -131,8 +131,7 @@ Telepathy::MediaStreamPendingSend MediaStream::pendingSend() const
 
 PendingOperation *MediaStream::remove()
 {
-    return new PendingVoidMethodCall(this,
-            mPriv->channel->streamedMediaInterface()->RemoveStreams(Telepathy::UIntList() << mPriv->id));
+    return mPriv->channel->removeStreams(Telepathy::UIntList() << mPriv->id);
 }
 
 PendingOperation *MediaStream::requestStreamDirection(
@@ -289,6 +288,34 @@ PendingOperation *StreamedMediaChannel::acceptCall()
     return groupAddSelfHandle();
 }
 
+PendingOperation *StreamedMediaChannel::removeStreams(MediaStreams streams)
+{
+    Telepathy::UIntList ids;
+    foreach (const QSharedPointer<MediaStream> &stream, streams) {
+        ids << stream->id();
+    }
+    return removeStreams(ids);
+}
+
+PendingOperation *StreamedMediaChannel::removeStreams(const Telepathy::UIntList &ids)
+{
+    return new PendingVoidMethodCall(this,
+            streamedMediaInterface()->RemoveStreams(ids));
+}
+
+PendingOperation *StreamedMediaChannel::requestStreams(
+        QSharedPointer<Telepathy::Client::Contact> contact,
+        QList<Telepathy::MediaStreamType> types)
+{
+    Telepathy::UIntList l;
+    foreach (Telepathy::MediaStreamType type, types) {
+        l << type;
+    }
+    return new PendingVoidMethodCall(this,
+            streamedMediaInterface()->RequestStreams(
+                contact->handle()[0], l));
+}
+
 void StreamedMediaChannel::gotStreams(QDBusPendingCallWatcher *watcher)
 {
     QDBusPendingReply<QVariantMap> reply = *watcher;
diff --git a/TelepathyQt4/Client/streamed-media-channel.h b/TelepathyQt4/Client/streamed-media-channel.h
index b4b4897..b6dd950 100644
--- a/TelepathyQt4/Client/streamed-media-channel.h
+++ b/TelepathyQt4/Client/streamed-media-channel.h
@@ -107,14 +107,12 @@ public:
 
     PendingOperation *acceptCall();
 
-#if 0
     PendingOperation *removeStreams(MediaStreams streams);
-    PendingOperation *removeStreams(QSet<uint> streams);
+    PendingOperation *removeStreams(const Telepathy::UIntList &ids);
 
     PendingOperation *requestStreams(
             QSharedPointer<Telepathy::Client::Contact> contact,
             QList<Telepathy::MediaStreamType> types);
-#endif
 
 Q_SIGNALS:
     void streamAdded(const QSharedPointer<Telepathy::Client::MediaStream> &stream);
-- 
1.5.6.5




More information about the telepathy-commits mailing list