aboutsummaryrefslogtreecommitdiff
path: root/src/timer.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2018-11-09 21:03:45 +0800
committercrupest <crupest@outlook.com>2018-11-09 21:03:45 +0800
commit4b219b569c16db6027dd36e4656152f261321c60 (patch)
tree2f40c6aeb74382c5a958f153e4598950dffae94c /src/timer.cpp
parent6515948e3f5b97f90446536f72e99d71e96f9de7 (diff)
parent9ef75fe91837394620edb91f332065a4f34a0281 (diff)
downloadcru-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.cpp15
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);
}
}