[Telepathy-commits] [telepathy-spec/master] dis1: document how a basic dispatch process works

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


---
 doc/dispatch.txt |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/doc/dispatch.txt b/doc/dispatch.txt
index c728312..4dc7f76 100644
--- a/doc/dispatch.txt
+++ b/doc/dispatch.txt
@@ -82,13 +82,49 @@ Proposed implementation:
 
 * The tray icon is a Client and a Client.Approver
 
-* The chat UI is a Client and a Client.ChannelHandler (selected in an
+* The chat UI is a Client and a Client.Handler (selected in an
   implementation-specific way)
 
 * Clients should not wait for the first message in an incoming channel -
   if a connection manager creates channels before a message arrives, clients
   should assume it has a valid reason to do so? ("`psychic mode`_")
 
+Dispatch process::
+
+    CM emits Requests.NewChannels([
+        {
+            '...ChannelType': '...Text',
+            '...TargetHandleType': CONTACT,
+            '...TargetHandle': 1234,
+            '...TargetID': 'romeo at montague.example.com',
+            '...Requested': FALSE,
+            ...
+        },
+        ])
+
+    In response, CD calls ObserveChannels on all matching Observers, including
+    org.freedesktop.Telepathy.Client.EmpathyLogger
+
+    CD creates a ChannelDispatchOperation
+
+    CD calls AddDispatchOperation on all matching Approvers, including
+    org.freedesktop.Telepathy.Client.EmpathyTrayIcon
+
+    Empathy tray icon flashes
+
+    Juliet clicks on tray icon and chooses Accept
+
+    Empathy tray icon calls
+    HandleWith('org.freedesktop.Telepathy.Client.EmpathyChat')
+
+    ChannelDispatchOperation emits Closed
+
+    (At or before this point, the CD must wait for all the Observers to return
+    from ObserveChannels if they have not already done so)
+
+    CD calls HandleChannels on Empathy chat process (service-activating it
+    if needed)
+
 _`dis2`: Incoming 1-1 text message
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- 
1.5.6.5




More information about the Telepathy-commits mailing list