Slave.run: run a command using Unix.execute
[hcoop/domtool2.git] / src / slave.sig
index a3d322f..bfe5786 100644 (file)
@@ -22,9 +22,11 @@ signature SLAVE = sig
 
     datatype file_action =
             Add
-          | Delete
+          | Delete of bool (* Set to true to really delete the file *)
           | Modify
 
+    val isDelete : file_action -> bool
+
     type file_status = {action : file_action,
                        domain : string,
                        dir : string,
@@ -43,6 +45,8 @@ signature SLAVE = sig
 
     val shell : string list -> bool
     val shellF : string list * (string -> string) -> unit
+    val shellOutput : string list -> string option
+    val run : string * string list -> bool
 
     val concatTo : (string -> bool) -> string -> unit
     (* Search through the result configuration hierarchy for all files matching
@@ -64,4 +68,15 @@ signature SLAVE = sig
     val lineInFile : string -> string -> bool
     (* Is there a line in the file (first arg) that matches that given? *)
 
+    val inGroup : {user : string, group : string} -> bool
+    (* Check membership in a UNIX group. *)
+
+    val mkDirAll : string -> unit
+    (* [mkDirAll p] creates directory "p", creating all parent directories, as
+     * necessary. *)
+
+    val remove : ''a list * ''a -> ''a list
+    val removeDups : ''a list -> ''a list
+
+    val moveDirCreate : { from : string, to : string } -> unit
 end