[Telepathy-commits] [telepathy-spec/master] ChannelDispatcher: CreateChannel must return before AddRequest is called

Will Thompson will.thompson at collabora.co.uk
Mon Nov 24 10:06:26 PST 2008


---
 spec/Channel_Dispatcher.xml |   22 ++++++++++++++++++++++
 spec/Client_Handler.xml     |   10 +++++++++-
 2 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/spec/Channel_Dispatcher.xml b/spec/Channel_Dispatcher.xml
index c9b8a2b..2c07305 100644
--- a/spec/Channel_Dispatcher.xml
+++ b/spec/Channel_Dispatcher.xml
@@ -197,6 +197,17 @@
               on it, and partly so the channel dispatcher
               can recover state if it crashes and is restarted.</p>
           </tp:rationale>
+
+          <p>If this is a well-known bus name, the channel dispatcher SHOULD
+            call <tp:dbus-ref
+              namespace="org.freedesktop.Telepathy.Client.Handler.DRAFT">AddRequest</tp:dbus-ref>
+            on that Handler after this method has returned.</p>
+
+          <tp:rationale>
+            <p>This ordering allows a Handler which calls CreateChannel with
+              itself as the preferred handler to associate the call to
+              AddRequest with that call.</p>
+          </tp:rationale>
         </tp:docstring>
       </arg>
 
@@ -303,6 +314,17 @@
               can recover state if it crashes and is restarted.</p>
           </tp:rationale>
 
+          <p>If this is a well-known bus name, the channel dispatcher SHOULD
+            call <tp:dbus-ref
+              namespace="org.freedesktop.Telepathy.Client.Handler.DRAFT">AddRequest</tp:dbus-ref>
+            on that Handler after this method has returned.</p>
+
+          <tp:rationale>
+            <p>This ordering allows a Handler which calls EnsureChannel with
+              itself as the preferred handler to associate the call to
+              AddRequest with that call.</p>
+          </tp:rationale>
+
           <p>If any new channels are created in response to this
             request, the channel dispatcher SHOULD dispatch as many as
             possible of the resulting channels (ideally, all of them)
diff --git a/spec/Client_Handler.xml b/spec/Client_Handler.xml
index db8b907..59c253b 100644
--- a/spec/Client_Handler.xml
+++ b/spec/Client_Handler.xml
@@ -191,7 +191,15 @@
         <tp:docstring>
           The <tp:dbus-ref
             namespace="org.freedesktop.Telepathy">ChannelRequest</tp:dbus-ref>
-          object.
+          object, which MUST have been returned by <tp:dbus-ref
+            namespace="org.freedesktop.Telepathy.ChannelDispatcher.DRAFT">CreateChannel</tp:dbus-ref>
+          or <tp:dbus-ref
+            namespace="org.freedesktop.Telepathy.ChannelDispatcher.DRAFT">EnsureChannel</tp:dbus-ref>
+          before this method is called.
+
+          <tp:rationale>
+            See those methods for the rationale of this ordering.
+          </tp:rationale>
         </tp:docstring>
       </arg>
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list