sig
module Conf :
sig
type link = string
type path = Dtools.Conf.link list
type ut =
< comments : string list; descr : string; kind : string option;
path : Dtools.Conf.path -> Dtools.Conf.ut;
plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
routes : Dtools.Conf.ut -> Dtools.Conf.path list;
subs : Dtools.Conf.link list; ut : Dtools.Conf.ut >
type 'a t =
< alias : ?comments:string list ->
?descr:string ->
(Dtools.Conf.ut -> unit) -> 'a Dtools.Conf.t;
comments : string list; descr : string; get : 'a;
get_d : 'a option; kind : string option;
on_change : ('a -> unit) -> unit;
path : Dtools.Conf.path -> Dtools.Conf.ut;
plug : Dtools.Conf.link -> Dtools.Conf.ut -> unit;
routes : Dtools.Conf.ut -> Dtools.Conf.path list;
set : 'a -> unit; set_d : 'a option -> unit;
subs : Dtools.Conf.link list; ut : Dtools.Conf.ut >
type links = (Dtools.Conf.link * Dtools.Conf.ut) list
exception Undefined of Dtools.Conf.ut
exception Invalid of string
exception Unbound of Dtools.Conf.ut * string
exception Bound of Dtools.Conf.ut * string
exception Mismatch of Dtools.Conf.ut
exception Cyclic of Dtools.Conf.ut * Dtools.Conf.ut
exception Wrong_Conf of string * string
exception File_Wrong_Conf of string * int * string
type 'a builder =
?d:'a ->
?p:(Dtools.Conf.ut -> unit) ->
?l:Dtools.Conf.links ->
?comments:string list -> string -> 'a Dtools.Conf.t
val unit : unit Dtools.Conf.builder
val int : int Dtools.Conf.builder
val float : float Dtools.Conf.builder
val bool : bool Dtools.Conf.builder
val string : string Dtools.Conf.builder
val list : string list Dtools.Conf.builder
val void :
?p:(Dtools.Conf.ut -> unit) ->
?l:Dtools.Conf.links ->
?comments:string list -> string -> Dtools.Conf.ut
val as_unit : Dtools.Conf.ut -> unit Dtools.Conf.t
val as_int : Dtools.Conf.ut -> int Dtools.Conf.t
val as_float : Dtools.Conf.ut -> float Dtools.Conf.t
val as_bool : Dtools.Conf.ut -> bool Dtools.Conf.t
val as_string : Dtools.Conf.ut -> string Dtools.Conf.t
val as_list : Dtools.Conf.ut -> string list Dtools.Conf.t
val path_of_string : string -> Dtools.Conf.path
val string_of_path : Dtools.Conf.path -> string
val descr : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
val dump : ?prefix:Dtools.Conf.path -> Dtools.Conf.ut -> string
val conf_set : Dtools.Conf.ut -> string -> unit
val conf_file : Dtools.Conf.ut -> string -> unit
val args :
Dtools.Conf.ut -> (string list * Stdlib.Arg.spec * string) list
end
module Init :
sig
type t
val start : Dtools.Init.t
val stop : Dtools.Init.t
val make :
?name:string ->
?depends:Dtools.Init.t list ->
?triggers:Dtools.Init.t list ->
?after:Dtools.Init.t list ->
?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
val at_start :
?name:string ->
?depends:Dtools.Init.t list ->
?triggers:Dtools.Init.t list ->
?after:Dtools.Init.t list ->
?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
val at_stop :
?name:string ->
?depends:Dtools.Init.t list ->
?triggers:Dtools.Init.t list ->
?after:Dtools.Init.t list ->
?before:Dtools.Init.t list -> (unit -> unit) -> Dtools.Init.t
val exec : Dtools.Init.t -> unit
exception Root_prohibited of [ `Both | `Group | `User ]
val init : ?prohibit_root:bool -> (unit -> unit) -> unit
exception StartError of exn
exception StopError of exn
val conf : Dtools.Conf.ut
val conf_daemon : bool Dtools.Conf.t
val conf_daemon_pidfile : bool Dtools.Conf.t
val conf_daemon_pidfile_path : string Dtools.Conf.t
val conf_concurrent : bool Dtools.Conf.t
val conf_trace : bool Dtools.Conf.t
val conf_catch_exn : bool Dtools.Conf.t
val args : (string list * Stdlib.Arg.spec * string) list
end
module Log :
sig
type t =
< active : int -> bool;
f : 'a. int -> ('a, unit, string, unit) Stdlib.format4 -> 'a >
type custom_log = { timestamp : bool; exec : string -> unit; }
val add_custom_log : string -> Dtools.Log.custom_log -> unit
val rm_custom_log : string -> unit
val make : Dtools.Conf.path -> Dtools.Log.t
val start : Dtools.Init.t
val stop : Dtools.Init.t
val conf : Dtools.Conf.ut
val conf_level : int Dtools.Conf.t
val conf_unix_timestamps : bool Dtools.Conf.t
val conf_stdout : bool Dtools.Conf.t
val conf_file : bool Dtools.Conf.t
val conf_file_path : string Dtools.Conf.t
val conf_file_append : bool Dtools.Conf.t
val conf_file_perms : int Dtools.Conf.t
val args : (string list * Stdlib.Arg.spec * string) list
end
end