f8/f8/timer.cc
aozhiwei dec7ea7a3a 1
2022-12-17 14:17:31 +08:00

109 lines
2.3 KiB
C++

#include <a8/a8.h>
#include <f8/f8.h>
#include <f8/timer.h>
namespace f8
{
Attacher::Attacher()
{
p_.SetOwner(&f8::Timer::Instance()->xtimer_);
if (!f8::Timer::Instance()->Initialized()) {
abort();
}
}
void Timer::Init()
{
initialized_ = true;
}
void Timer::UnInit()
{
}
bool Timer::Initialized()
{
}
void Timer::Update()
{
xtimer_.Update();
}
void Timer::SetTimeout(int expire_time, a8::TimerCb cb)
{
xtimer_.SetTimeout(expire_time, cb);
}
void Timer::SetTimeoutEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
{
xtimer_.SetTimeoutEx(expire_time, cb, &attacher->p_);
}
TimerWp Timer::SetTimeoutWp(int expire_time, a8::TimerCb cb)
{
return TimerWp(xtimer_.SetTimeoutWp(expire_time, cb));
}
TimerWp Timer::SetTimeoutWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
{
return TimerWp(xtimer_.SetTimeoutWpEx(expire_time, cb, &attacher->p_));
}
void Timer::SetInterval(int expire_time, a8::TimerCb cb)
{
xtimer_.SetInterval(expire_time, cb);
}
void Timer::SetIntervalEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
{
xtimer_.SetIntervalEx(expire_time, cb, &attacher->p_);
}
TimerWp Timer::SetIntervalWp(int expire_time, a8::TimerCb cb)
{
return TimerWp(xtimer_.SetIntervalWp(expire_time, cb));
}
TimerWp Timer::SetIntervalWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
{
return TimerWp(xtimer_.SetIntervalWpEx(expire_time, cb, &attacher->p_));
}
void Timer::FireEvent(TimerWp& timer_wp, int event, a8::Args* args)
{
xtimer_.FireEvent(timer_wp.p_, event, args);
}
void Timer::ModifyTime(TimerWp& timer_wp, int expire_time)
{
xtimer_.ModifyTime(timer_wp.p_, expire_time);
}
void Timer::Delete(TimerWp& timer_wp)
{
xtimer_.Delete(timer_wp.p_);
}
long long Timer::GetRemainTime(TimerWp& timer_wp)
{
return xtimer_.GetRemainTime(timer_wp.p_);
}
void Timer::DeleteCurrentTimer()
{
xtimer_.DeleteCurrentTimer();
}
bool Timer::IsRunning()
{
return xtimer_.IsRunning();
}
}