logo top
Main Page   Widgets   glibmm Namespaces   Book  

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

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.
sigc::connection connect_seconds (const sigc::slot<bool>& slot, unsigned int interval, int priority=PRIORITY_DEFAULT)
 Connects a timeout handler 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.

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:


The documentation for this class was generated from the following file:

Generated for glibmm 2.4 by Doxygen 1.5.1 © 1997-2001