Implement cleanup functions, including 'mailto'.
[whenjobs.git] / lib / whenfile.mli
index a66f865..7883fa7 100644 (file)
@@ -25,7 +25,7 @@ val init : Whenstate.t -> unit
 val get_state : unit -> Whenstate.t
 (** Return the updated state.  Call this after parsing the file. *)
 
-val add_when_job : Camlp4.PreCast.Loc.t -> string -> Camlp4.PreCast.Ast.expr -> Whenexpr.shell_script -> unit
+val add_when_job : Camlp4.PreCast.Loc.t -> string -> Whenexpr.cleanup option -> Camlp4.PreCast.Ast.expr -> Whenexpr.shell_script -> unit
 (** When a 'when' macro appears as a toplevel statement in an
     input file, it causes this function to be called.
 
@@ -33,11 +33,13 @@ val add_when_job : Camlp4.PreCast.Loc.t -> string -> Camlp4.PreCast.Ast.expr ->
 
     [name] is the name of the job.
 
+    [cleanup] is the optional cleanup function.
+
     [expr] is the expression, as an OCaml abstract syntax tree.
 
     [sh] is the shell script fragment (basically location + a big string). *)
 
-val add_every_job : Camlp4.PreCast.Loc.t -> string -> Whenexpr.periodexpr -> Whenexpr.shell_script -> unit
+val add_every_job : Camlp4.PreCast.Loc.t -> string -> Whenexpr.cleanup option -> Whenexpr.periodexpr -> Whenexpr.shell_script -> unit
 (** When an 'every' macro appears as a toplevel statement in an
     input file, it causes this function to be called.
 
@@ -45,6 +47,8 @@ val add_every_job : Camlp4.PreCast.Loc.t -> string -> Whenexpr.periodexpr -> Whe
 
     [name] is the name of the job.
 
+    [cleanup] is the optional cleanup function.
+
     [periodexpr] is the period, eg. 30 seconds.
 
     [sh] is the shell script fragment. *)