X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/e0b80e65c8132f096ed5c92e42d4da7d33ff369b..d63aa5e7b08630cc17a606e85e35acc5bd0041ee:/src/domain.sig diff --git a/src/domain.sig b/src/domain.sig index b3c06ce..9383a8e 100644 --- a/src/domain.sig +++ b/src/domain.sig @@ -20,6 +20,9 @@ signature DOMAIN = sig + val declareClient : unit -> unit + val fakePrivileges : unit -> unit + val yourPath : string -> bool val isIdent : char -> bool val validHost : string -> bool @@ -87,12 +90,34 @@ signature DOMAIN = sig val your_paths : unit -> DataStructures.StringSet.set (* UNIX users, groups, and paths the user may act with *) + val get_context : unit -> OpenSSL.context val set_context : OpenSSL.context -> unit val hasPriv : string -> bool val rmdom : string list -> unit + val rmdom' : string -> string list -> unit 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, showEmpty : bool } + | 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. *) + + (* Callbacks to run whenever the set of Domtool users has changed *) + val registerOnUsersChange : (unit -> unit) -> unit + val onUsersChange : unit -> unit end