racket/collects/handin-server/private/run-status.ss
Eli Barzilay 5541890dd5 yet more v4-isms
svn: r11684
2008-09-12 15:41:34 +00:00

20 lines
651 B
Scheme

#lang scheme/base
(provide current-run-status-box set-run-status
current-messenger message)
;; current-run-status-box is used to let the client know where we are in the
;; submission process.
(define current-run-status-box (make-parameter #f))
;; current-messenger is a function that will send a message to the client.
(define current-messenger (make-parameter #f))
(define (message . args)
(let ([messenger (current-messenger)])
(and messenger (apply messenger args))))
;; Set the current-run-status-box and send a message.
(define (set-run-status s)
(let ([b (current-run-status-box)])
(when b (set-box! b s) (message s))))