diff options
| author | John Estabrook <jestabro@vyos.io> | 2026-02-03 20:48:57 -0600 |
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2026-02-12 08:37:48 -0600 |
| commit | fba52c8ff1760abab9c253b4aa3fef27a1c166c2 (patch) | |
| tree | 8e296c841a9681bf01c562058d1fead4c299995c /libvyosconfig | |
| parent | 5379a132a0d8973f1bd206cdc2a7910a6ca1832d (diff) | |
| download | vyos-1x-fba52c8ff1760abab9c253b4aa3fef27a1c166c2.tar.gz vyos-1x-fba52c8ff1760abab9c253b4aa3fef27a1c166c2.zip | |
T8232: add bindings needed for reference tree class
Diffstat (limited to 'libvyosconfig')
| -rw-r--r-- | libvyosconfig/lib/bindings.ml | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/libvyosconfig/lib/bindings.ml b/libvyosconfig/lib/bindings.ml index 3510a9016..b3b2e3e36 100644 --- a/libvyosconfig/lib/bindings.ml +++ b/libvyosconfig/lib/bindings.ml @@ -94,6 +94,31 @@ let write_internal c_ptr file = with Internal.Write_error msg -> error_message := msg +let render_json_reference_tree c_ptr = + RT.render_json (Root.get c_ptr) + +let read_internal_reference_tree file = + (* alert exn Internal.read_internal: + [Internal.Read_error] caught + *) + try + error_message := ""; + let rt = (IR.read_internal[@alert "-exn"]) file in + Ctypes.Root.create rt + with Internal.Read_error msg -> + error_message := msg; Ctypes.null + +let write_internal_reference_tree c_ptr file = + (* alert exn Internal.write_internal: + [Internal.Write_error] caught + *) + try + error_message := ""; + let ct = Root.get c_ptr in + (IR.write_internal[@alert "-exn"]) ct file + with Internal.Write_error msg -> + error_message := msg + let create_node c_ptr path = (* alert exn CT.create_node: [Vytree.Empty_path] caught @@ -465,7 +490,6 @@ let validate_tree_filter c_ptr rt_cache_path validator_dir = with Internal.Read_error msg -> error_message := msg; c_ptr - module Stubs(I : Cstubs_inverted.INTERNAL) = struct @@ -480,6 +504,9 @@ struct let () = I.internal "to_commands" ((ptr void) @-> string @-> returning string) render_commands let () = I.internal "read_internal" (string @-> returning (ptr void)) read_internal let () = I.internal "write_internal" ((ptr void) @-> string @-> returning void) write_internal + let () = I.internal "to_json_reference_tree" ((ptr void) @-> returning string) render_json_reference_tree + let () = I.internal "read_internal_reference_tree" (string @-> returning (ptr void)) read_internal_reference_tree + let () = I.internal "write_internal_reference_tree" ((ptr void) @-> string @-> returning void) write_internal_reference_tree let () = I.internal "create_node" ((ptr void) @-> string @-> returning int) create_node let () = I.internal "set_add_value" ((ptr void) @-> string @-> string @-> returning int) set_add_value let () = I.internal "set_replace_value" ((ptr void) @-> string @-> string @-> returning int) set_replace_value |
