1 ;;; Example of Sending Messages
3 (defun tooltalk-random-query-handler (msg pat)
4 (let ((state (get-tooltalk-message-attribute msg 'state)))
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")))))
11 (setq random-query-message
16 args ((TT_INOUT "?" "string"))
17 callback tooltalk-random-query-handler))
19 (let ((m (make-tooltalk-message random-query-message)))
20 (send-tooltalk-message m))
22 ;;; Example of Receiving Messaegs
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)))
29 (setq display-string-pattern
33 args ((TT_IN "filename" "string"))
34 callback tooltalk-display-string-handler))
36 (let ((p (make-tooltalk-pattern display-string-pattern)))
37 (register-tooltalk-pattern p))