[Telepathy-commits] [telepathy-spec/master] propose solution from req2: a Present() method, and implementation-specific channel handler choice

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


20080610162801-53eee-b9d50eeef1951688005422fb630696e5d0030542.gz
---
 doc/request.txt |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/doc/request.txt b/doc/request.txt
index 1ae8052..a3dcba5 100644
--- a/doc/request.txt
+++ b/doc/request.txt
@@ -81,14 +81,14 @@ Current implementation::
     else:
         the channel handler puts the existing window or tab in the foreground
 
-Problems (FIXME: not addressed by proposed implementation):
+Problems addressed by proposed implementation:
 
 * It's rather bizarre that Mission Control re-dispatches an existing channel
-  as though it was new
+  as though it was new (proposed solution: a Present() method instead)
 
 * It's very bizarre that the channel handler interprets HandleChannel on a
   channel it's already handling as "put it in the foreground". If we mean
-  "put this in the foreground" we should say so.
+  "put this in the foreground" we should say so (proposed solution: do so)
 
 Proposed implementation::
 
@@ -105,14 +105,17 @@ Proposed implementation::
     if the channel that is returned has the EXISTING flag:
         ChannelDispatcher returns it to the address book, which does nothing
             much with it
-        FIXME: how do we tell the UI to foreground it?
-        channel observers/approvers/handler do not run
+        ChannelDispatcher calls ChannelHandler.Present() on the existing
+            handler (which it already knows about)
+        channel observers/approvers do not run
     else:
         channel observers run
         ChannelDispatcher returns it to the address book, which does nothing
             much with it
-        FIXME: channel approvers probably do not run?
-        FIXME: how do we choose which channel handler should take it?
+        channel approvers do not run
+        ChannelDispatcher chooses a channel handler in an
+            implementation-specific way and calls
+            ChannelHandler.HandleChannel() on it
 
 _`req3`: collaborative app
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
1.5.6.5




More information about the Telepathy-commits mailing list