add AddRepeatTimerAndAttach
This commit is contained in:
parent
51e1820242
commit
8ab07d896f
17
a8/timer.cc
17
a8/timer.cc
@ -194,6 +194,17 @@ namespace a8
|
|||||||
return timer;
|
return timer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
timer_list* Timer::AddRepeatTimerAndAttach(int milli_seconds,
|
||||||
|
a8::XParams param,
|
||||||
|
a8::TimerFunc timer_func,
|
||||||
|
list_head* attach_list,
|
||||||
|
a8::TimerAfterFunc timer_after_func)
|
||||||
|
{
|
||||||
|
timer_list* timer = AddRepeatTimer(milli_seconds, param, timer_func);
|
||||||
|
list_add_tail(&timer->attach_entry, attach_list);
|
||||||
|
return timer;
|
||||||
|
}
|
||||||
|
|
||||||
timer_list* Timer::AddFixedTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func)
|
timer_list* Timer::AddFixedTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func)
|
||||||
{
|
{
|
||||||
timer_list *timer = NewTimerList();
|
timer_list *timer = NewTimerList();
|
||||||
@ -223,6 +234,12 @@ namespace a8
|
|||||||
|
|
||||||
void Timer::DeleteTimer(timer_list* timer)
|
void Timer::DeleteTimer(timer_list* timer)
|
||||||
{
|
{
|
||||||
|
if (!timer) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
if (base_->running_timer == timer) {
|
||||||
|
base_->running_timer = nullptr;
|
||||||
|
}
|
||||||
if (timer->timer_after_func) {
|
if (timer->timer_after_func) {
|
||||||
timer->timer_after_func(timer->param);
|
timer->timer_after_func(timer->param);
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,11 @@ namespace a8
|
|||||||
a8::TimerAfterFunc timer_after_func = nullptr);
|
a8::TimerAfterFunc timer_after_func = nullptr);
|
||||||
//添加重复执行定时器(周期性定时器)
|
//添加重复执行定时器(周期性定时器)
|
||||||
timer_list* AddRepeatTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func);
|
timer_list* AddRepeatTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func);
|
||||||
|
timer_list* AddRepeatTimerAndAttach(int milli_seconds,
|
||||||
|
a8::XParams param,
|
||||||
|
a8::TimerFunc timer_func,
|
||||||
|
list_head* attach_list,
|
||||||
|
a8::TimerAfterFunc timer_after_func = nullptr);
|
||||||
//添加固定时间定时器(每天,每次重启一天里可能会多次调用)
|
//添加固定时间定时器(每天,每次重启一天里可能会多次调用)
|
||||||
timer_list* AddFixedTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func);
|
timer_list* AddFixedTimer(int milli_seconds, a8::XParams param, a8::TimerFunc timer_func);
|
||||||
//修改定时器参数
|
//修改定时器参数
|
||||||
|
Loading…
x
Reference in New Issue
Block a user