X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=augeas.mli;h=dfada4a27dffc9b12e45422079f041d8dcbfc2d5;hb=05f00ac539c2cd0cf5dcbf90d031023a7e973ae7;hp=3fe1e87f036dd69507195927d369ce147f7bfcea;hpb=e078b8d80273f7b1df94b4acc2eca2f6f44a0a66;p=ocaml-augeas.git diff --git a/augeas.mli b/augeas.mli index 3fe1e87..dfada4a 100644 --- a/augeas.mli +++ b/augeas.mli @@ -21,16 +21,46 @@ type t (** Augeas library handle. *) -exception Error of string - (** This exception is thrown when the underlying Augeas library - returns an error. *) - type flag = | AugSaveBackup (** Rename original with .augsave *) | AugSaveNewFile (** Save changes to .augnew *) | AugTypeCheck (** Type-check lenses *) + | AugNoStdinc + | AugSaveNoop + | AugNoLoad (** Flags passed to the {!create} function. *) +type error_code = + | AugErrInternal (** Internal error (bug) *) + | AugErrPathX (** Invalid path expression *) + | AugErrNoMatch (** No match for path expression *) + | AugErrMMatch (** Too many matches for path expression *) + | AugErrSyntax (** Syntax error in lens file *) + | AugErrNoLens (** Lens lookup failed *) + | AugErrMXfm (** Multiple transforms *) + | AugErrNoSpan (** No span for this node *) + | AugErrMvDesc (** Cannot move node into its descendant *) + | AugErrCmdRun (** Failed to execute command *) + | AugErrBadArg (** Invalid argument in funcion call *) + | AugErrLabel (** Invalid label *) + | AugErrCpDesc (** Cannot copy node into its descendant *) + | AugErrUnknown of int + (** Possible error codes. *) + +type transform_mode = + | Include + | Exclude + (** The operation mode for the {!transform} function. *) + +exception Error of error_code * 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 human-readable explanation of the Augeas error, if available + - a string with details of the Augeas error + *) + type path = string (** A path expression. @@ -87,3 +117,18 @@ val count_matches : t -> path -> int val save : t -> unit (** [save t] saves all pending changes to disk. *) + +val load : t -> unit + (** [load t] loads files into the tree. *) + +val set : t -> path -> value option -> unit + (** [set t path] sets [value] as new value at [path]. *) + +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]. *) + +val source : t -> path -> path option + (** [source t path] returns the path to the node representing the + file to which [path] belongs, or [None] if [path] does not + represent any file. *)