1
This commit is contained in:
parent
db10c37c68
commit
c4429a36a8
106
f8/timer.cc
Normal file
106
f8/timer.cc
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
#include <a8/a8.h>
|
||||||
|
|
||||||
|
#include <f8/f8.h>
|
||||||
|
|
||||||
|
#include <f8/timer.h>
|
||||||
|
|
||||||
|
namespace f8
|
||||||
|
{
|
||||||
|
|
||||||
|
Attacher::Attacher()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::Init()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::UnInit()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Timer::Initialized()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::Update()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::SetTimeout(int expire_time, a8::TimerCb cb)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::SetTimeoutEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TimerWp Timer::SetTimeoutWp(int expire_time, a8::TimerCb cb)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TimerWp Timer::SetTimeoutWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::SetInterval(int expire_time, a8::TimerCb cb)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::SetIntervalEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TimerWp Timer::SetIntervalWp(int expire_time, a8::TimerCb cb)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TimerWp Timer::SetIntervalWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::FireEvent(TimerWp& timer_wp, int event, a8::Args* args)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::ModifyTime(TimerWp& timer_wp, int expire_time)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::Delete(TimerWp& timer_wp)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
long long Timer::GetRemainTime(TimerWp& timer_wp)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Timer::DeleteCurrentTimer()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Timer::IsRunning()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
66
f8/timer.h
Normal file
66
f8/timer.h
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <a8/xtimer.h>
|
||||||
|
#include <a8/singleton.h>
|
||||||
|
|
||||||
|
namespace f8
|
||||||
|
{
|
||||||
|
class TimerWp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TimerWp(a8::XTimerWp wp): p_(wp) {};
|
||||||
|
bool expired() { return p_.expired();};
|
||||||
|
auto&& lock() { return p_.lock(); };
|
||||||
|
|
||||||
|
private:
|
||||||
|
a8::XTimerWp p_;
|
||||||
|
friend class Timer;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Attacher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Attacher();
|
||||||
|
void ClearTimerList() { p_.ClearTimerList(); };
|
||||||
|
|
||||||
|
private:
|
||||||
|
a8::Attacher p_;
|
||||||
|
friend class Timer;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Timer : public a8::Singleton<Timer>
|
||||||
|
{
|
||||||
|
|
||||||
|
private:
|
||||||
|
Timer() {};
|
||||||
|
friend class a8::Singleton<Timer>;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void Init();
|
||||||
|
void UnInit();
|
||||||
|
bool Initialized();
|
||||||
|
void Update();
|
||||||
|
|
||||||
|
void SetTimeout(int expire_time, a8::TimerCb cb);
|
||||||
|
void SetTimeoutEx(int expire_time, a8::TimerCb cb, Attacher* attacher);
|
||||||
|
TimerWp SetTimeoutWp(int expire_time, a8::TimerCb cb);
|
||||||
|
TimerWp SetTimeoutWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher);
|
||||||
|
|
||||||
|
void SetInterval(int expire_time, a8::TimerCb cb);
|
||||||
|
void SetIntervalEx(int expire_time, a8::TimerCb cb, Attacher* attacher);
|
||||||
|
TimerWp SetIntervalWp(int expire_time, a8::TimerCb cb);
|
||||||
|
TimerWp SetIntervalWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher);
|
||||||
|
|
||||||
|
void FireEvent(TimerWp& timer_wp, int event, a8::Args* args);
|
||||||
|
void ModifyTime(TimerWp& timer_wp, int expire_time);
|
||||||
|
void Delete(TimerWp& timer_wp);
|
||||||
|
long long GetRemainTime(TimerWp& timer_wp);
|
||||||
|
void DeleteCurrentTimer();
|
||||||
|
bool IsRunning();
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool initialized_ = false;
|
||||||
|
a8::XTimer xtimer_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user