X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=augeas.mli;h=8cbeae188c939c8721d3f59fb7311c71fbd5ab04;hb=9f497ca0fac74abde144617b9e10d4c83970abaa;hp=3f3186c1e9b96c9dd46e26df0094a59d4a611490;hpb=bb20badcb781cbecc9e33a352d0078545d27a967;p=ocaml-augeas.git diff --git a/augeas.mli b/augeas.mli index 3f3186c..8cbeae1 100644 --- a/augeas.mli +++ b/augeas.mli @@ -56,11 +56,12 @@ type transform_mode = | Exclude (** The operation mode for the {!transform} function. *) -exception Error of error_code * string * string * string +exception Error of error_code * string * string * string * string (** This exception is thrown when the underlying Augeas library returns an error. The tuple represents: - the Augeas error code - the ocaml-augeas error string + - the Augeas error message - the human-readable explanation of the Augeas error, if available - a string with details of the Augeas error *) @@ -94,6 +95,15 @@ val close : t -> unit Do not use the handle after closing it. *) +val defnode : t -> string -> string -> string option -> int * bool + (** [defnode t name expr value] defines [name] whose value is the + result of evaluating [expr], which is a nodeset. *) + +val defvar : t -> string -> string option -> int option + (** [defvar t name expr] defines [name] whose value is the result + of evaluating [expr], replacing the old value if existing. + [None] as [expr] removes the variable [name]. *) + val get : t -> path -> value option (** [get t path] returns the value at [path], or [None] if there is no value. *) @@ -106,6 +116,12 @@ val insert : t -> ?before:bool -> path -> string -> unit of [path]. By default it is inserted after [path], unless [~before:true] is specified. *) +val label : t -> path -> string option + (** [label t path] gets the label of [path]. + + Returns [Some value] when [path] matches only one node, and + that has an associated label. *) + val rm : t -> path -> int (** [rm t path] removes all nodes matching [path]. @@ -115,6 +131,9 @@ val matches : t -> path -> path list (** [matches t path] returns a list of path expressions of all nodes matching [path]. *) +val mv : t -> path -> path -> unit + (** [mv t src dest] moves a node. *) + val count_matches : t -> path -> int (** [count_matches t path] counts the number of nodes matching [path] but does not return them (see {!matches}). *) @@ -128,6 +147,13 @@ val load : t -> unit val set : t -> path -> value option -> unit (** [set t path] sets [value] as new value at [path]. *) +val setm : t -> path -> string option -> value option -> int + (** [setm t base sub value] sets [value] as new value for all the + nodes under [base] that match [sub] (or all, if [sub] is + [None]). + + Returns the number of nodes modified. *) + val transform : t -> string -> string -> transform_mode -> unit (** [transform t lens file mode] adds or removes (depending on [mode]) the transformation of the specified [lens] for [file]. *)