XEmacs 21.2-b1
[chise/xemacs-chise.git.1] / tests / tooltalk / simple.el
1 ;;; Example of Sending Messages
2
3 (defun tooltalk-random-query-handler (msg pat)
4   (let ((state (get-tooltalk-message-attribute msg 'state)))
5     (cond
6       ((eq state 'TT_HANDLED)
7        (message (get-tooltalk-message-attribute msg arg_val 0)))
8       ((memq state '(TT_FAILED TT_REJECTED))
9        (message "Random query turns up nothing")))))
10
11 (setq random-query-message
12   '(   class TT_REQUEST
13        scope TT_SESSION
14      address TT_PROCEDURE
15           op "random-query"
16         args ((TT_INOUT "?" "string"))
17     callback tooltalk-random-query-handler))
18
19 (let ((m (make-tooltalk-message random-query-message)))
20       (send-tooltalk-message m))
21
22 ;;; Example of Receiving Messaegs
23
24 (defun tooltalk-display-string-handler (msg pat)
25   (return-tooltalk-message msg 'reply)
26   (describe-tooltalk-message msg)
27   (message (get-tooltalk-message-attribute msg 'arg_val 0)))
28
29 (setq display-string-pattern
30   '(category TT_HANDLE
31        scope TT_SESSION
32           op "emacs-eval"
33         args ((TT_IN "filename" "string"))
34     callback tooltalk-display-string-handler))
35
36 (let ((p (make-tooltalk-pattern display-string-pattern)))
37   (register-tooltalk-pattern p))
38