/usr/lib/ocaml/equeue-gtk2/uq_gtk.mli is in libocamlnet-gtk2-ocaml-dev 4.0.4-1build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | (* $Id: uq_gtk.mli 967 2006-07-26 21:38:43Z gerd $ *)
open Equeue
open Unixqueue
(** Integration with lablgtk/lablgtk2 event systems *)
(** This module provides integration of Unixqueue event systems with the
* Glib event queue (and, as a consequence, with the lablgtk event queue).
*
* There are two flavours of this module, both named [Uq_gtk], and with
* identical interfaces, but one is used with lablgtk, and one with lablgtk2.
* Compile with
* {[ ocamlfind ... -package equeue-gtk1 ... ]}
* to get the variant for lablgtk, and compile with
* {[ ocamlfind ... -package equeue-gtk2 ... ]}
* to get the variant for lablgtk2.
*)
type runner =
event_system -> (unit -> unit) -> unit
class gtk_event_system : ?run:runner -> unit -> event_system
(** This class is an alternate implementation of the Unixqueue event systems
* for the Glib event loop. Use this class instead of [unix_event_system].
*
* Both Unixqueue and Glib provide event queues for system events,
* and it is possible to merge both queues such that events may happen and
* be processed on one queue while the other queue blocks.
*
* To achieve this, just use this class instead of [unix_event_system].
* It automatically creates handlers for the Glib loop when necessary.
* However, you must not invoke the method [run], as this class does not
* provide its own event loop. Instead, ensure that [GMain.main] is
* called.
*
* Of course, this is all intended to help writing applications which have
* a graphical user interface (GUI) built with lablgtk, and some network
* functionality which is designed to work in the background. Simply create
* your GUI with lablgtk, and after the button is pressed which starts the
* network I/O, you add resources to this event queue, and the I/O will be
* processed concurrently with any user input coming from the GUI.
*)
|