summaryrefslogtreecommitdiff
path: root/src/session.mli
blob: 273d43436ddd78182e7225495d0da45b24e9ab72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type cfg_op =
    | CfgSet of string list * string option * Config_tree.value_behaviour
    | CfgDelete of string list * string option

type world = {
    mutable running_config: Config_tree.t;
    reference_tree: Reference_tree.t;
    validators: (string, string) Hashtbl.t;
}

type session_data = {
    proposed_config : Config_tree.t;
    modified: bool;
    changeset: cfg_op list
}

val make : world -> session_data

val set : world -> session_data -> string list -> session_data

val delete : world -> session_data -> string list -> session_data