logo top
Main Page   Widgets   Namespaces   Book  

The Main Event Loop


Detailed Description

Manages all available sources of events.


Classes

class  IdleSource
class  IOSource
class  MainContext
 Main context. More...

class  MainLoop
class  PollFD
class  SignalIdle
class  SignalIO
class  SignalTimeout
class  Source
class  TimeoutSource

Enumerations

enum  {
  Glib::PRIORITY_HIGH = -100,
  Glib::PRIORITY_DEFAULT = 0,
  Glib::PRIORITY_HIGH_IDLE = 100,
  Glib::PRIORITY_DEFAULT_IDLE = 200,
  Glib::PRIORITY_LOW = 300
}
enum  Glib::IOCondition {
  Glib::IO_IN,
  Glib::IO_OUT,
  Glib::IO_PRI,
  Glib::IO_ERR,
  Glib::IO_HUP,
  Glib::IO_NVAL
}
 A bitwise combination representing an I/O condition to watch for on an event source. More...


Functions

IOCondition Glib::operator| (IOCondition lhs, IOCondition rhs)
IOCondition Glib::operator& (IOCondition lhs, IOCondition rhs)
IOCondition Glib::operator^ (IOCondition lhs, IOCondition rhs)
IOCondition Glib::operator~ (IOCondition flags)
IOConditionGlib::operator|= (IOCondition& lhs, IOCondition rhs)
IOConditionGlib::operator&= (IOCondition& lhs, IOCondition rhs)
IOConditionGlib::operator^= (IOCondition& lhs, IOCondition rhs)
SignalTimeout Glib::signal_timeout ()
 Convenience timeout signal.

SignalIdle Glib::signal_idle ()
 Convenience idle signal.

SignalIO Glib::signal_io ()
 Convenience I/O signal.

Glib::RefPtr<MainContext> Glib::MainContext::wrap (GMainContext* gobject, bool take_copy=false)
Glib::RefPtr<MainLoop> Glib::MainLoop::wrap (GMainLoop* gobject, bool take_copy=false)


Enumeration Type Documentation

anonymous enum
 

Enumeration values:
PRIORITY_HIGH  Use this for high priority event sources. It is not used within GLib or GTK+.

PRIORITY_DEFAULT  Use this for default priority event sources. In glibmm this priority is used by default when installing timeout handlers with SignalTimeout::connect(). In GDK this priority is used for events from the X server.

PRIORITY_HIGH_IDLE  Use this for high priority idle functions. GTK+ uses PRIORITY_HIGH_IDLE + 10 for resizing operations, and PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is done to ensure that any pending resizes are processed before any pending redraws, so that widgets are not redrawn twice unnecessarily.)

PRIORITY_DEFAULT_IDLE  Use this for default priority idle functions. In glibmm this priority is used by default when installing idle handlers with SignalIdle::connect().

PRIORITY_LOW  Use this for very low priority background tasks. It is not used within GLib or GTK+.

enum Glib::IOCondition
 

A bitwise combination representing an I/O condition to watch for on an event source.

The flags correspond to those used by the poll() system call on UNIX (see man 2 poll). To test for individual flags, do something like this:

 if((condition & Glib::IO_OUT) != 0)
   do_some_output();
Bitwise operators:
IOCondition operator|(IOCondition, IOCondition)
IOCondition operator&(IOCondition, IOCondition)
IOCondition operator^(IOCondition, IOCondition)
IOCondition operator~(IOCondition)
IOCondition& operator|=(IOCondition&, IOCondition)
IOCondition& operator&=(IOCondition&, IOCondition)
IOCondition& operator^=(IOCondition&, IOCondition)
Enumeration values:
IO_IN  There is data to read.
IO_OUT  Data can be written (without blocking).
IO_PRI  There is urgent data to read.
IO_ERR  Error condition.
IO_HUP  Hung up (the connection has been broken, usually for pipes and sockets).
IO_NVAL  Invalid request. The file descriptor is not open.


Function Documentation

IOCondition operator& ( IOCondition  lhs,
IOCondition  rhs
[inline]
 

IOCondition& operator&= ( IOCondition lhs,
IOCondition  rhs
[inline]
 

IOCondition operator^ ( IOCondition  lhs,
IOCondition  rhs
[inline]
 

IOCondition& operator^= ( IOCondition lhs,
IOCondition  rhs
[inline]
 

IOCondition operator| ( IOCondition  lhs,
IOCondition  rhs
[inline]
 

IOCondition& operator|= ( IOCondition lhs,
IOCondition  rhs
[inline]
 

IOCondition operator~ ( IOCondition  flags  )  [inline]
 

SignalIdle signal_idle (  ) 
 

Convenience idle signal.

Returns:
A signal proxy; you want to use SignalIdle::connect().
Examples:
thread/dispatcher.cc.

SignalIO signal_io (  ) 
 

Convenience I/O signal.

Returns:
A signal proxy; you want to use SignalIO::connect().

SignalTimeout signal_timeout (  ) 
 

Convenience timeout signal.

Returns:
A signal proxy; you want to use SignalTimeout::connect().

Glib::RefPtr<MainLoop> wrap ( GMainLoop*  gobject,
bool  take_copy = false
[related, inherited]
 

Glib::RefPtr<MainContext> wrap ( GMainContext*  gobject,
bool  take_copy = false
[related, inherited]
 


Generated for gtkmm2.2 by Doxygen 1.3.4 © 1997-2001