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>