annotate tests/tooltalk/simple.el @ 1431:bd5929b8e039

[xemacs-hg @ 2003-04-24 23:41:31 by youngs] XEmacs 21.5.12 "carrot" is released.
author youngs
date Thu, 24 Apr 2003 23:41:44 +0000
parents 131b0175ea99
children 9fc91aa3a927
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1 ;;; Example of Sending Messages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
3 (defun tooltalk-random-query-handler (msg pat)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
4 (let ((state (get-tooltalk-message-attribute msg 'state)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
5 (cond
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
6 ((eq state 'TT_HANDLED)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
7 (message (get-tooltalk-message-attribute msg arg_val 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
8 ((memq state '(TT_FAILED TT_REJECTED))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
9 (message "Random query turns up nothing")))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
10
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
11 (setq random-query-message
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
12 '( class TT_REQUEST
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
13 scope TT_SESSION
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
14 address TT_PROCEDURE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
15 op "random-query"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
16 args ((TT_INOUT "?" "string"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
17 callback tooltalk-random-query-handler))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
18
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
19 (let ((m (make-tooltalk-message random-query-message)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
20 (send-tooltalk-message m))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
21
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
22 ;;; Example of Receiving Messaegs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
23
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 (defun tooltalk-display-string-handler (msg pat)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25 (return-tooltalk-message msg 'reply)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26 (describe-tooltalk-message msg)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 (message (get-tooltalk-message-attribute msg 'arg_val 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29 (setq display-string-pattern
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30 '(category TT_HANDLE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31 scope TT_SESSION
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32 op "emacs-eval"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 args ((TT_IN "filename" "string"))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34 callback tooltalk-display-string-handler))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36 (let ((p (make-tooltalk-pattern display-string-pattern)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
37 (register-tooltalk-pattern p))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
38