Testing log directory backup
[hcoop/domtool2.git] / src / slave.sig
index 24082d4..86c64fd 100644 (file)
@@ -27,6 +27,7 @@ signature SLAVE = sig
 
     type file_status = {action : file_action,
                        domain : string,
+                       dir : string,
                        file : string}
 
     val registerFileHandler : (file_status -> unit) -> unit
@@ -39,4 +40,40 @@ signature SLAVE = sig
     (* Register code to run before or after making all changes. *)
 
     val handleChanges : file_status list -> unit
+
+    val shell : string list -> bool
+    val shellF : string list * (string -> string) -> unit
+
+    val concatTo : (string -> bool) -> string -> unit
+    (* Search through the result configuration hierarchy for all files matching
+     * the predicate, concatenating their contents in arbitrary order to the
+     * given file. *)
+
+    val enumerateTo : (string -> bool) -> string -> string -> unit
+    (* Search through the result configuration hierarchy for all files matching
+     * the predicate, writing a list of their domains to the file named by the
+     * third argument, delimiting the entries with the second argument. *)
+
+    val hostname : unit -> string
+    (* Get hostname of this machine *)
+
+    val readList : string -> string list
+    val writeList : string * string list -> unit
+    (* Reading and writing lists of strings stored on separate lines in files *)
+
+    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 copyDirCreate : { from : string, to : string } -> unit
+    val moveDirCreate : { from : string, to : string } -> unit
 end