Glib::MainLoop man page on aLinux

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
aLinux logo
[printable version]

Glib::MainLoop(3)     User Contributed Perl Documentation    Glib::MainLoop(3)

NAME
       Glib::MainLoop -	 An event source manager

DESCRIPTION
       Event-driven programs need some sort of loop which watches for events
       and launches the appropriate actions.  Glib::MainLoop provides this
       functionality.

       Mainloops have context, provided by the MainContext object.  For the
       most part you can use the default context (see "default"), but if you
       want to create a subcontext for a nested loop which doesn't have the
       same event sources, etc, you can.

       Event sources, attached to main contexts, watch for events to happen,
       and launch appropriate actions.	Glib provides a few ready-made event
       sources, the Glib::Timeout, Glib::Idle, and io watch
       ("Glib::IO->add_watch").

       Under the hood, Gtk+ adds event sources for GdkEvents to dispatch
       events to your widgets.	In fact, Gtk2 provides an abstraction of
       Glib::MainLoop (See "Gtk2->main" and friends), so you may rarely have
       cause to use Glib::MainLoop directly.

       Note: As of version 1.080, the Glib module uses a custom event source
       to ensure that perl's safe signal handling and the glib polling event
       loop play nicely together.  It is no longer necessary to install a
       timeout to ensure that async signals get handled in a timely manner.

METHODS
       maincontext thingamabob = Glib::MainContext->new

       mainloop = Glib::MainLoop->new ($context=undef, $is_running=FALSE)

	   ·   $context (Glib::MainContext thingamabob)

	   ·   $is_running (boolean)

       integer = Glib::Timeout->add ($interval, $callback, $data=undef,
       $priority=G_PRIORITY_DEFAULT)

	   ·   $interval (integer) number of milliseconds

	   ·   $callback (subroutine)

	   ·   $data (scalar)

	   ·   $priority (integer)

	   Run $callback every $interval milliseconds until $callback returns
	   false.  Returns a source id which may be used with
	   "Glib::Source->remove".  Note that a mainloop must be active for
	   the timeout to execute.

       integer = Glib::Idle->add ($callback, $data=undef,
       $priority=G_PRIORITY_DEFAULT_IDLE)

	   ·   $callback (subroutine)

	   ·   $data (scalar)

	   ·   $priority (integer)

	   Run $callback when the mainloop is idle.  If $callback returns
	   false, it will uninstall itself, otherwise, it will run again at
	   the next idle iteration.  Returns a source id which may be used
	   with "Glib::Source->remove".

       integer = Glib::IO->add_watch ($fd, $condition, $callback, $data=undef,
       $priority=G_PRIORITY_DEFAULT)

	   ·   $fd (Glib::IO) file number, e.g. fileno($filehandle)

	   ·   $condition (Glib::IOCondition)

	   ·   $callback (subroutine)

	   ·   $data (scalar)

	   ·   $priority (integer)

	   Run $callback when there is an event on $fd that matches
	   $condition.	The watch uninstalls itself if $callback returns
	   false.  Returns a source id that may be used with
	   "Glib::Source->remove".

	   Glib's IO channels serve the same basic purpose as Perl's file
	   handles, so for the most part you don't see GIOChannels in Perl.
	   The IO watch integrates IO operations with the main loop, which
	   Perl file handles don't do.	For various reasons, this function
	   requires raw file descriptors, not full file handles.  See "fileno"
	   in perlfunc.

       maincontext thingamabob = $loop->get_context

       maincontext thingamabob = Glib::MainContext->default

       boolean = $loop->is_running

       boolean = $context->iteration ($may_block)

	   ·   $may_block (boolean)

       integer = Glib::main_depth

	   Find the current main loop recursion level.	This is handy in
	   fringe situations, but those are very rare; see the C API reference
	   for a more in-depth discussion.

       boolean = $context->pending

       $loop->quit

       boolean = Glib::Source->remove ($tag)

	   ·   $tag (integer)

	   Remove an event source.  $tag is the number returned by things like
	   "Glib::Timeout->add", "Glib::Idle->add", and "Glib::IO->add_watch".

       $loop->run

ENUMS AND FLAGS
       flags Glib::IOCondition

       ·   'in' / 'G_IO_IN'

       ·   'out' / 'G_IO_OUT'

       ·   'pri' / 'G_IO_PRI'

       ·   'err' / 'G_IO_ERR'

       ·   'hup' / 'G_IO_HUP'

       ·   'nval' / 'G_IO_NVAL'

SEE ALSO
       Glib

COPYRIGHT
       Copyright (C) 2003-2006 by the gtk2-perl team.

       This software is licensed under the LGPL.  See Glib for a full notice.

perl v5.10.0			  2008-08-29		     Glib::MainLoop(3)
[top]

List of man pages available for aLinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net