IO::Async::Loop::Glib.3pm

Langue: en

Version: 2010-01-04 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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.

$count = $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>