Adding domain description
[hcoop/domtool2.git] / src / domain.sig
index b3c06ce..bdf92de 100644 (file)
@@ -95,4 +95,20 @@ signature DOMAIN = sig
 
     val homedirOf : string -> string
     val homedir : unit -> string
 
     val homedirOf : string -> string
     val homedir : unit -> string
+
+    type subject = {node : string, domain : string}
+
+    val registerDescriber : (subject -> string) -> unit
+    (* When a user runs [domtool-admin describe $DOM], every function passed to
+     * [registerDescriber] will be run on [$DOM]. *)
+    val describe : string -> string
+    (* Argument is domain to describe, over all nodes. *)
+
+    datatype description =
+            Filename of { filename : string, heading : string }
+          | Extension of { extension : string, heading : string -> string }
+
+    val considerAll : description list -> subject -> string
+    (* Find files in a domain directory matching some patterns and generate
+     * headings and contents listings for them. *)
 end
 end