summaryrefslogtreecommitdiff
path: root/src/config_tree.mli
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2015-09-21 05:52:44 +0600
committerDaniil Baturin <daniil@baturin.org>2015-09-21 05:52:44 +0600
commite16eed718dacb83e49fa72caecb82ba6820bcced (patch)
treea4c6615d0d9f1ea932f46a67ddd91ef9322a57ed /src/config_tree.mli
parentb367aa82bd2c11e312f0b0216ac369ed51d96bc7 (diff)
downloadvyconf-e16eed718dacb83e49fa72caecb82ba6820bcced.tar.gz
vyconf-e16eed718dacb83e49fa72caecb82ba6820bcced.zip
Remove metadata from the config tree data, rendering and the like requires
input from the reference tree anyway. Make value modification functions behaviour multi-value node aware.
Diffstat (limited to 'src/config_tree.mli')
-rw-r--r--src/config_tree.mli19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/config_tree.mli b/src/config_tree.mli
index 10fcdf6..1a807c2 100644
--- a/src/config_tree.mli
+++ b/src/config_tree.mli
@@ -1,26 +1,21 @@
+type value_behaviour = AddValue | ReplaceValue
+
exception Duplicate_value
+exception Node_has_no_value
type config_node_data = {
values : string list;
comment : string;
- node_type : Vytree.node_type;
- keep_order : bool;
}
type t = config_node_data Vytree.t
val default_data : config_node_data
-val make : string -> config_node_data Vytree.t
+val make : string -> t
-val set_value :
- config_node_data Vytree.t ->
- string list -> string -> config_node_data Vytree.t
+val set : t -> string list -> string -> Vytree.position -> value_behaviour -> t
-val add_value :
- config_node_data Vytree.t ->
- string list -> string -> config_node_data Vytree.t
+val get_values : t -> string list -> string list
-val get_values :
- config_node_data Vytree.t ->
- string list -> string list
+val get_value : t -> string list -> string