[Telepathy-commits] [telepathy-spec/master] ChannelDispatchOperation: is only created for unrequested channels

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Sep 26 08:21:15 PDT 2008


20080711192837-53eee-bd7f15d6a927751c818011a79486e37209744ff5.gz
---
 spec/Channel_Dispatch_Operation.xml |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/spec/Channel_Dispatch_Operation.xml b/spec/Channel_Dispatch_Operation.xml
index f2f1078..f54dfcf 100644
--- a/spec/Channel_Dispatch_Operation.xml
+++ b/spec/Channel_Dispatch_Operation.xml
@@ -26,12 +26,37 @@
 
     <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
       <p>A channel dispatch operation is an object in the ChannelDispatcher
-        representing a bundle of channels being announced to client
-        processes.</p>
-
-      <p>These objects can result from new incoming channels, requests for
-        outgoing channels, or channels which are automatically created
-        for some reason.</p>
+        representing a bundle of unrequested channels being announced to
+        client processes.</p>
+
+      <p>These objects can result from new incoming channels or channels
+        which are automatically created for some reason, but cannot result
+        from outgoing requests for channels.</p>
+
+      <p>More specifically, whenever the
+        <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.NewChannels</tp:dbus-ref>
+        signal contains any channels whose
+        <tp:dbus-ref namespace="org.freedesktop.Telepathy">Channel.FUTURE.Requested</tp:dbus-ref>
+        property is false, or whenever the
+        <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.NewChannel</tp:dbus-ref>
+        signal contains a channel with suppress_handler false,
+        a ChannelDispatchOperation is created for those
+        channels. Any requested channels in the same signal MUST NOT be
+        included (although the signal shouldn't contain any anyway).</p>
+
+      <!-- FIXME: this doesn't explain what to do with splitting, but it's
+      sort of right in principle... -->
+
+      <p>First, if the channels are in the same bundle as a channel that is
+        already being handled, the channel dispatcher SHOULD call the
+        handler's
+        HandleAdditionalChannels
+        method. If the handler takes responsibility for the channels,
+        processing stops, and no approvers are run.</p>
+
+      <p>Next, the channel dispatcher SHOULD send the channel dispatch
+        operation to all relevant approvers (in parallel) and wait for an
+        approver to request that the channels are handled or rejected.</p>
     </tp:docstring>
 
     <property name="Interfaces" type="as" access="read"
-- 
1.5.6.5




More information about the Telepathy-commits mailing list