Glib::SignalTimeout Class Reference
[The Main Event Loop]

#include <glibmm/main.h>

List of all members.

Public Member Functions

sigc::connection connect (const sigc::slot< bool >& slot, unsigned int interval, int priority=PRIORITY_DEFAULT)
 Connects a timeout handler.
void connect_once (const sigc::slot< void >& slot, unsigned int interval, int priority=PRIORITY_DEFAULT)
 Connects an timeout handler that runs only once.
sigc::connection connect_seconds (const sigc::slot< bool >& slot, unsigned int interval, int priority=PRIORITY_DEFAULT)
 Connects a timeout handler with whole second granularity.
void connect_seconds_once (const sigc::slot< void >& slot, unsigned int interval, int priority=PRIORITY_DEFAULT)
 Connects an timeout handler that runs only once with whole second granularity.

Member Function Documentation

sigc::connection Glib::SignalTimeout::connect ( const sigc::slot< bool > &  slot,
unsigned int  interval,
int  priority = PRIORITY_DEFAULT 
)

Connects a timeout handler.

Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays).

If you want to have a timer in the "seconds" range and do not care about the exact time of the first call of the timer, use the connect_seconds() function; this function allows for more optimizations and more efficient system power usage.

 Glib::signal_timeout().connect(sigc::ptr_fun(&timeout_handler), 1000);

is equivalent to:

 const Glib::RefPtr<Glib::TimeoutSource> timeout_source = Glib::TimeoutSource::create(1000);
 timeout_source->connect(sigc::ptr_fun(&timeout_handler));
 timeout_source->attach(Glib::MainContext::get_default());
Parameters:
slot A slot to call when interval has elapsed.
interval The timeout in milliseconds.
priority The priority of the new event source.
Returns:
A connection handle, which can be used to disconnect the handler.
void Glib::SignalTimeout::connect_once ( const sigc::slot< void > &  slot,
unsigned int  interval,
int  priority = PRIORITY_DEFAULT 
)

Connects an timeout handler that runs only once.

This method takes a function pointer to a function with a void return and no parameters. After running once it is not called again.

See also:
connect
Parameters:
slot A slot to call when interval has elapsed. For example:

 void on_timeout_once()
interval The timeout in milliseconds.
priority The priority of the new event source.
sigc::connection Glib::SignalTimeout::connect_seconds ( const sigc::slot< bool > &  slot,
unsigned int  interval,
int  priority = PRIORITY_DEFAULT 
)

Connects a timeout handler with whole second granularity.

Unlike connect(), this operates at whole second granularity. The initial starting point of the timer is determined by the implementation and the implementation is expected to group multiple timers together so that they fire all at the same time.

To allow this grouping, the interval to the first timer is rounded and can deviate up to one second from the specified interval. Subsequent timer iterations will generally run at the specified interval.

 Glib::signal_timeout().connect(sigc::ptr_fun(&timeout_handler), 1000);

is equivalent to:

 const Glib::RefPtr<Glib::TimeoutSource> timeout_source = Glib::TimeoutSource::create(1000);
 timeout_source->connectseconds(sigc::ptr_fun(&timeout_handler));
 timeout_source->attach(Glib::MainContext::get_default());
Parameters:
slot A slot to call when interval has elapsed.
interval The timeout in seconds.
priority The priority of the new event source.
Returns:
A connection handle, which can be used to disconnect the handler.
Since glibmm 2.14:
void Glib::SignalTimeout::connect_seconds_once ( const sigc::slot< void > &  slot,
unsigned int  interval,
int  priority = PRIORITY_DEFAULT 
)

Connects an timeout handler that runs only once with whole second granularity.

This method takes a function pointer to a function with a void return and no parameters. After running once it is not called again.

See also:
connect_seconds
Parameters:
slot A slot to call when interval has elapsed. For example:

 void on_timeout_once()
interval The timeout in milliseconds.
priority The priority of the new event source.
Generated on Sun Sep 19 21:30:41 2010 for glibmm by  doxygen 1.6.3