IO::Async::Loop::Glib - use IO::Async with Glib or GTK
IO::Async::Loop::Glib
IO::Async
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->run;
while(1) { $loop->loop_once(); }
This subclass of IO::Async::Loop uses the Glib::MainLoop to perform read-ready and write-ready tests.
IO::Async::Loop
Glib::MainLoop
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.
Glib::IO
want_writeready
$loop = IO::Async::Loop::Glib->new()
This function returns a new instance of a IO::Async::Loop::Glib object. It takes no special arguments.
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.
iteration()
Glib::MainContext
Glib - Perl wrappers for the GLib utility and Object libraries
Gtk2 - Perl interface to the 2.x series of the Gimp Toolkit library
Paul Evans <leonerd@leonerd.org.uk>
To install IO::Async::Loop::Glib, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IO::Async::Loop::Glib
CPAN shell
perl -MCPAN -e shell install IO::Async::Loop::Glib
For more information on module installation, please visit the detailed CPAN module installation guide.