diff options
author | crupest <crupest@outlook.com> | 2018-11-09 21:03:45 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2018-11-09 21:03:45 +0800 |
commit | 4b219b569c16db6027dd36e4656152f261321c60 (patch) | |
tree | 2f40c6aeb74382c5a958f153e4598950dffae94c /src/timer.cpp | |
parent | 6515948e3f5b97f90446536f72e99d71e96f9de7 (diff) | |
parent | 9ef75fe91837394620edb91f332065a4f34a0281 (diff) | |
download | cru-4b219b569c16db6027dd36e4656152f261321c60.tar.gz cru-4b219b569c16db6027dd36e4656152f261321c60.tar.bz2 cru-4b219b569c16db6027dd36e4656152f261321c60.zip |
Merge branch 'master' into theme-resource
Diffstat (limited to 'src/timer.cpp')
-rw-r--r-- | src/timer.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/timer.cpp b/src/timer.cpp index 3d89d567..c839a48d 100644 --- a/src/timer.cpp +++ b/src/timer.cpp @@ -4,9 +4,12 @@ namespace cru { - inline TimerManager* GetTimerManager() + TimerManager* TimerManager::GetInstance() { - return Application::GetInstance()->GetTimerManager(); + return Application::GetInstance()->ResolveSingleton<TimerManager>([](auto) + { + return new TimerManager{}; + }); } UINT_PTR TimerManager::CreateTimer(const UINT milliseconds, const bool loop, const TimerAction& action) @@ -41,20 +44,20 @@ namespace cru } - void TimerTask::Cancel() + void TimerTask::Cancel() const { - GetTimerManager()->KillTimer(id_); + TimerManager::GetInstance()->KillTimer(id_); } TimerTask SetTimeout(std::chrono::milliseconds milliseconds, const TimerAction& action) { - const auto id = GetTimerManager()->CreateTimer(static_cast<UINT>(milliseconds.count()), false, action); + const auto id = TimerManager::GetInstance()->CreateTimer(static_cast<UINT>(milliseconds.count()), false, action); return TimerTask(id); } TimerTask SetInterval(std::chrono::milliseconds milliseconds, const TimerAction& action) { - const auto id = GetTimerManager()->CreateTimer(static_cast<UINT>(milliseconds.count()), true, action); + const auto id = TimerManager::GetInstance()->CreateTimer(static_cast<UINT>(milliseconds.count()), true, action); return TimerTask(id); } } |