summaryrefslogtreecommitdiff
path: root/src/config_diff.ml
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-11-07 18:03:45 +0000
committerGitHub <noreply@github.com>2024-11-07 18:03:45 +0000
commitacfac8d809d526e9e5af1ab26cbe093e45ff9f11 (patch)
treea59160862670da61bf6a0aaa825fa4c4d1ebc171 /src/config_diff.ml
parentd7260e772e39bc6a3a2d76d629567e03bbad16b5 (diff)
parentc94254e4a5771d4cabc0d373210cdd3362501b9d (diff)
downloadvyos1x-config-acfac8d809d526e9e5af1ab26cbe093e45ff9f11.tar.gz
vyos1x-config-acfac8d809d526e9e5af1ab26cbe093e45ff9f11.zip
Merge pull request #31 from jestabro/vyconf-minimal
T6718: use the vyconf daemon for validation of set commands
Diffstat (limited to 'src/config_diff.ml')
-rw-r--r--src/config_diff.ml26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/config_diff.ml b/src/config_diff.ml
index 3529a5d..6fd57c6 100644
--- a/src/config_diff.ml
+++ b/src/config_diff.ml
@@ -27,6 +27,7 @@ module Diff_cstore = struct
type t = { left: Config_tree.t;
right: Config_tree.t;
handle: int;
+ out: string;
}
end
@@ -43,19 +44,23 @@ let eval_result : type a. a result -> a = function
type 'a diff_func = ?recurse:bool -> string list -> 'a result -> change -> 'a result
let make_diff_trees l r = Diff_tree { left = l; right = r;
- add = (Config_tree.make "");
- sub = (Config_tree.make "");
- del = (Config_tree.make "");
- inter = (Config_tree.make "");
+ add = (Config_tree.make "");
+ sub = (Config_tree.make "");
+ del = (Config_tree.make "");
+ inter = (Config_tree.make "");
}
-let make_diff_string l r = Diff_string {
- left = l; right = r;
- skel = (Config_tree.make "");
- ppath = [];
- udiff = "";
+let make_diff_string l r = Diff_string { left = l; right = r;
+ skel = (Config_tree.make "");
+ ppath = [];
+ udiff = "";
}
+let make_diff_cstore l r h = Diff_cstore { left = l; right = r;
+ handle = h;
+ out = "";
+}
+
let name_of n = Vytree.name_of_node n
let data_of n = Vytree.data_of_node n
let children_of n = Vytree.children_of_node n
@@ -75,6 +80,9 @@ module TreeOrd = struct
end
module ChildrenS = Set.Make(TreeOrd)
+(* unordered set of values *)
+module ValueSet = Set.Make(String)
+
let (^~) (node : Config_tree.t) (node' : Config_tree.t) =
name_of node = name_of node' &&
(data_of node).values <> (data_of node').values