X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=filetree_type.mli;h=b5c642aff7f80957a42b09ed62b914ba8c8fe3c3;hb=refs%2Ftags%2F0.1.7;hp=590b635ba44ef573424fc46d1c045f2576e59436;hpb=02614e74adee2a5d499bd557a6adde99a3c56e73;p=guestfs-browser.git diff --git a/filetree_type.mli b/filetree_type.mli index 590b635..b5c642a 100644 --- a/filetree_type.mli +++ b/filetree_type.mli @@ -16,7 +16,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *) -(** This is the base class for the file tree. +(** This is the base module for the file tree. The types and functions in this file should be considered private to the file tree implementation. @@ -43,6 +43,7 @@ and hdata = { mutable state : state_t; content : content_t; mutable visited : bool; + mutable hiveh : Hivex.t option; } (* The type of the hidden column used to implement on-demand loading. @@ -61,9 +62,13 @@ and content_t = | Loading (* special "loading ..." node *) | ErrorMessage of string (* error message node *) | Info of string (* information node (eg. disk usage) *) - | Top of Slave.source (* top level OS or volume node *) - | Directory of Slave.direntry (* a directory *) - | File of Slave.direntry (* a file inc. special files *) + | Top of Slave_types.source (* top level OS or volume node *) + (* top level Windows Registry node *) + | TopWinReg of Slave_types.source * string * string * string + | Directory of Slave_types.direntry(* a directory *) + | File of Slave_types.direntry (* a file inc. special files *) + | RegKey of Hivex.node (* a registry key (like a dir) *) + | RegValue of Hivex.value (* a registry value (like a file) *) val store_hdata : t -> Gtk.tree_iter -> hdata -> unit val get_hdata : t -> Gtk.tree_iter -> hdata @@ -75,13 +80,18 @@ val find_child_node_by_content : t -> Gtk.tree_iter -> content_t -> Gtk.tree_ite [hdata.content] and returns that child. If no child found, raises [Not_found]. *) -val get_pathname : t -> Gtk.tree_iter -> Slave.source * string +val get_pathname : t -> Gtk.tree_iter -> Slave_types.source * string (* Get the full path to a row by chasing up through the tree to the top. This also returns the source (eg. operating system or single volume). *) -val markup_of_name : ?visited:bool -> Slave.direntry -> string - (* Create markup for filenames. *) +val get_registry_path : t -> Gtk.tree_iter -> (Slave_types.source * string * string * string) * string list + (* Get the path to the top from a registry key. This returns the + pair [(TopWinReg_data, path)] where [TopWinReg_data] is the data + inside a {!TopWinReg} node, and [path] is the path (list of node + names) up to the top. You normally need to call {!List.rev} on + [path]. *) -val set_visited : t -> Gtk.tree_iter -> unit - (* Set a file as visited. *) +val cache_registry_file : ?fail:exn Slave.callback -> t -> Gtk.tree_path -> Slave_types.source -> string -> string -> unit Slave.callback -> unit + (* This is called whenever we need the registry cache file and we + can't be sure that it has already been downloaded. *)