diff tests/tooltalk/simple.el @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children 9fc91aa3a927
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/tooltalk/simple.el	Mon Aug 13 09:02:59 2007 +0200
@@ -0,0 +1,38 @@
+;;; Example of Sending Messages
+
+(defun tooltalk-random-query-handler (msg pat)
+  (let ((state (get-tooltalk-message-attribute msg 'state)))
+    (cond
+      ((eq state 'TT_HANDLED)
+       (message (get-tooltalk-message-attribute msg arg_val 0)))
+      ((memq state '(TT_FAILED TT_REJECTED))
+       (message "Random query turns up nothing")))))
+
+(setq random-query-message
+  '(   class TT_REQUEST
+       scope TT_SESSION
+     address TT_PROCEDURE
+	  op "random-query"
+        args ((TT_INOUT "?" "string"))
+    callback tooltalk-random-query-handler))
+
+(let ((m (make-tooltalk-message random-query-message)))
+      (send-tooltalk-message m))
+
+;;; Example of Receiving Messaegs
+
+(defun tooltalk-display-string-handler (msg pat)
+  (return-tooltalk-message msg 'reply)
+  (describe-tooltalk-message msg)
+  (message (get-tooltalk-message-attribute msg 'arg_val 0)))
+
+(setq display-string-pattern
+  '(category TT_HANDLE
+       scope TT_SESSION
+	  op "emacs-eval"
+	args ((TT_IN "filename" "string"))
+    callback tooltalk-display-string-handler))
+
+(let ((p (make-tooltalk-pattern display-string-pattern)))
+  (register-tooltalk-pattern p))
+