slave: Use slightly modified event_callback.
[guestfs-browser.git] / window.mli
index b91ccd9..670b94a 100644 (file)
 (** The Window module handles all aspects of the main window, menus,
     dialogs and so on. *)
 
-type window_state
-
-val open_main_window : unit -> window_state
-  (** Open the main Gtk window, set up the menus, callbacks and so on. *)
-
-val failure : window_state -> exn -> unit
-  (** This is the global error handling function.  It is invoked in
-      the main thread for failures in the slave thread (see
-      {!Slave.set_failure_hook}). *)
-
-val throbber_busy : window_state -> unit -> unit
-val throbber_idle : window_state -> unit -> unit
-  (** These are callbacks from the slave thread (invoked in the main
-      thread) which are called whenever the throbber should be
-      animated/busy or idle.  *)
-
-val progress : window_state -> int64 * int64 -> unit
-  (** This called whenever the progress bar should move. *)
-
-(*
-  val run_cli_request : window_state -> Cmdline.cli_request -> unit
-(** This function performs the {!Cmdline.cli_request} operation.
-  The actual operation happens asynchronously after this function
-  has returned. *)
-*)
+class window :
+object ('a)
+  method after : 'a
+  method disconnect : GtkSignal.id -> unit
+
+  (** Signals that can be emitted by window menu items. *)
+  method connect_kvm_signal : callback:(unit -> unit) -> GtkSignal.id
+  method connect_xen_signal : callback:(unit -> unit) -> GtkSignal.id
+  method connect_none_signal : callback:(unit -> unit) -> GtkSignal.id
+  method connect_uri_signal : callback:(unit -> unit) -> GtkSignal.id
+  method open_disk_signal : callback:(unit -> unit) -> GtkSignal.id
+  method reopen_signal : callback:(unit -> unit) -> GtkSignal.id
+  method inspection_signal : callback:(unit -> unit) -> GtkSignal.id
+  method about_signal : callback:(unit -> unit) -> GtkSignal.id
+
+  method failure : exn -> unit
+    (** This is the global error handling function.  It is invoked in
+        the main thread for failures in the slave thread (see
+        {!Slave.set_failure_hook}). *)
+
+  method throbber_busy : unit -> unit
+  method throbber_idle : unit -> unit
+    (** These are callbacks from the slave thread (invoked in the main
+        thread) which are called whenever the throbber should be
+        animated/busy or idle.  *)
+
+  method set_statusbar : string -> unit
+    (** This callback from the slave thread (invoked in the main thread)
+        updates the status bar when some slave operation starts or
+        stops. *)
+
+  method progress : int64 * int64 -> unit
+    (** This called whenever the progress bar should move. *)
+
+  method tree : Filetree.tree
+    (** Return the filetree contained in the window. *)
+
+  method connect_to : string option -> unit -> unit
+    (** Connect to the given libvirt URI. *)
+
+  method open_disk_images : (string * string option) list -> unit
+    (** Open disk image(s) directly.  The second part of each pair
+        is the optional disk format. *)
+
+  method reopen : unit -> unit
+    (** Reopen the libguestfs handle and current guest. *)
+
+  method run_cli_request : Cmdline.cli_request -> unit
+    (** This function performs the {!Cmdline.cli_request} operation.
+        The actual operation happens asynchronously after this function
+        has returned. *)
+
+end