DDE kit: Timer add schedule function form timers

Added 'dde_kit_timer_schedule_absolute' to timer interface.
This commit is contained in:
Sebastian Sumpf 2012-05-02 15:44:40 +02:00 committed by Norman Feske
parent b6896cf22f
commit 376983ae4c
2 changed files with 19 additions and 1 deletions

View File

@ -62,6 +62,16 @@ struct dde_kit_timer *dde_kit_timer_add(void (*fn)(void *), void *priv,
*/
void dde_kit_timer_del(struct dde_kit_timer *timer);
/**
* Schedule absolute timeout
*
* \param timer timer reference
* \param timeout absolute timeout (in DDE kit ticks)
*/
void dde_kit_timer_schedule_absolute(struct dde_kit_timer *timer, unsigned long timeout);
/**
* Check whether a timer is pending
*

View File

@ -149,8 +149,12 @@ class dde_kit_timer : public Alarm, public List<dde_kit_timer>::Element
public:
dde_kit_timer(void (*handler)(void *), void *priv, unsigned long absolute_timeout)
: _handler(handler), _priv(priv), _pending(true)
: _handler(handler), _priv(priv), _pending(true) {
schedule(absolute_timeout); }
void schedule(unsigned long absolute_timeout)
{
_pending = true;
_timer_thread->schedule_absolute(this, absolute_timeout);
}
@ -183,6 +187,10 @@ extern "C" struct dde_kit_timer *dde_kit_timer_add(void (*fn)(void *), void *pri
}
extern "C" void dde_kit_timer_schedule_absolute(struct dde_kit_timer *timer, unsigned long timeout) {
timer->schedule(timeout); }
extern "C" void dde_kit_timer_del(struct dde_kit_timer *timer)
{
try {