Below is the file 'status.ml' from this revision. You can also download the file.


class type reporter =
  object
    method push           : string -> unit
    method pop            : unit -> unit
    method progress_start : string -> int -> unit
    method progress       : int -> unit
    method progress_end   : unit -> unit
  end

exception Uninitialized

let make_reporter : (string -> reporter) ref =
  ref (fun _ -> raise Uninitialized)

let new_reporter id =
  !make_reporter id