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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
NAME
`IO::Async::Loop::Glib' - use `IO::Async' with Glib or GTK
SYNOPSIS
use IO::Async::Loop::Glib;
my $loop = IO::Async::Loop::Glib->new();
$loop->add( ... );
...
# Rest of GLib/Gtk program that uses GLib
Glib::MainLoop->new->run();
Or
$loop->loop_forever();
Or
while(1) {
$loop->loop_once();
}
DESCRIPTION
This subclass of `IO::Async::Loop' uses the `Glib::MainLoop' to perform
read-ready and write-ready tests.
The appropriate `Glib::IO' sources are added or removed from the
`Glib::MainLoop' when notifiers are added or removed from the set, or
when they change their `want_writeready' status. The callbacks are
called automatically by Glib itself; no special methods on this loop
object are required.
CONSTRUCTOR
$loop = IO::Async::Loop::Glib->new()
This function returns a new instance of a `IO::Async::Loop::Glib'
object. It takes no special arguments.
METHODS
There are no special methods in this subclass, other than those provided
by the `IO::Async::Loop' base class.
$loop->loop_once( $timeout )
This method calls the `iteration()' method on the underlying
`Glib::MainContext'. If a timeout value is supplied, then a Glib timeout
will be installed, to interrupt the loop at that time. If Glib indicates
that any callbacks were fired, then this method will return 1 (however,
it does not mean that any `IO::Async' callbacks were invoked, as there
may be other parts of code sharing the Glib main context. Otherwise, it
will return 0.
SEE ALSO
* Glib - Perl wrappers for the GLib utility and Object libraries
* Gtk2 - Perl interface to the 2.x series of the Gimp Toolkit library
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
|