mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 02:38:13 +00:00
Libraries: Create top level directory for libraries.
Things were getting a little crowded in the project root, so this patch moves the Lib*/ directories into Libraries/.
This commit is contained in:
parent
63814ffebf
commit
04b9dc2d30
328 changed files with 36 additions and 36 deletions
61
Libraries/LibCore/CTimer.cpp
Normal file
61
Libraries/LibCore/CTimer.cpp
Normal file
|
@ -0,0 +1,61 @@
|
|||
#include <LibCore/CTimer.h>
|
||||
|
||||
CTimer::CTimer(CObject* parent)
|
||||
: CObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
CTimer::CTimer(int interval, Function<void()>&& timeout_handler, CObject* parent)
|
||||
: CObject(parent)
|
||||
, on_timeout(move(timeout_handler))
|
||||
{
|
||||
start(interval);
|
||||
}
|
||||
|
||||
CTimer::~CTimer()
|
||||
{
|
||||
}
|
||||
|
||||
void CTimer::start()
|
||||
{
|
||||
start(m_interval);
|
||||
}
|
||||
|
||||
void CTimer::start(int interval)
|
||||
{
|
||||
if (m_active)
|
||||
return;
|
||||
m_interval = interval;
|
||||
start_timer(interval);
|
||||
m_active = true;
|
||||
}
|
||||
|
||||
void CTimer::restart(int interval)
|
||||
{
|
||||
if (m_active)
|
||||
stop();
|
||||
start(interval);
|
||||
}
|
||||
|
||||
void CTimer::stop()
|
||||
{
|
||||
if (!m_active)
|
||||
return;
|
||||
stop_timer();
|
||||
m_active = false;
|
||||
}
|
||||
|
||||
void CTimer::timer_event(CTimerEvent&)
|
||||
{
|
||||
if (m_single_shot)
|
||||
stop();
|
||||
else {
|
||||
if (m_interval_dirty) {
|
||||
stop();
|
||||
start(m_interval);
|
||||
}
|
||||
}
|
||||
|
||||
if (on_timeout)
|
||||
on_timeout();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue