X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=utils.ml;h=8ad67c4669ca7283f2f43b222df43a5c870ffd6f;hb=7b37dd1b4b0de25b1450ef08e4bf7ea37798b602;hp=94a59a0325317b84681b57cdd1d7c02fdde82025;hpb=e2e705307171a21a413f6ea47baf52d2fb44a6b3;p=guestfs-browser.git diff --git a/utils.ml b/utils.ml index 94a59a0..8ad67c4 100644 --- a/utils.ml +++ b/utils.ml @@ -29,14 +29,12 @@ let verbose = ref false let set_verbose_flag () = verbose := true let verbose () = !verbose -let write_flag = ref false -let set_write_flag () = write_flag := true -let write_flag () = !write_flag - let debug fs = let f str = if verbose () then ( prerr_string Config.package; + prerr_string ": tid "; + prerr_string (string_of_int (Thread.id (Thread.self ()))); prerr_string ": "; prerr_string str; prerr_newline () @@ -51,6 +49,14 @@ let failwith fs = in ksprintf f fs +let trace = ref false +let set_trace_flag () = trace := true +let trace () = !trace + +let connect_uri = ref None +let set_connect_uri conn = connect_uri := conn +let connect_uri () = !connect_uri + let utf8_rarrow = "\xe2\x86\x92" let human_size_1k i = @@ -62,3 +68,21 @@ let human_size_1k i = sprintf "%.1fG" (Int64.to_float i /. 1024. /. 1024.) let unique = let i = ref 0 in fun () -> incr i; !i + +let mklabel text = + (GMisc.label ~text () :> GObj.widget) + +let libguestfs_version_string () = + let g = new Guestfs.guestfs () in + let v = g#version () in + let s = + sprintf "%Ld.%Ld.%Ld%s" + v.Guestfs.major v.Guestfs.minor v.Guestfs.release v.Guestfs.extra in + g#close (); + s + +let libvirt_version_string () = + let v = fst (Libvirt.get_version ()) in + sprintf "%d.%d.%d" (v / 1_000_000) ((v / 1_000) mod 1_000) (v mod 1_000) + +let (//) = Filename.concat