X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/8df2e702cf3e5ed9b8433585b357bbcd9f0d623e..31b50af0d7e9779f3b0bd3f67acfc9104512a39d:/src/slave.sig?ds=inline diff --git a/src/slave.sig b/src/slave.sig index 76a4b05..86c64fd 100644 --- a/src/slave.sig +++ b/src/slave.sig @@ -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 @@ -47,4 +48,32 @@ signature SLAVE = sig (* 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