summaryrefslogtreecommitdiff
path: root/src/utils/timed_events.cpp
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2014-05-30 15:42:01 +0200
committerFlorent Le Coz <louiz@louiz.org>2014-05-30 15:42:01 +0200
commit5cca518c2d946144f4fee1b15dcfd3884850dcb1 (patch)
tree392f1935cf9bd8b21a9346f03a4f934e63e9e94a /src/utils/timed_events.cpp
parenta63faf6fa95017dbbfeaf0ff43fdb526c4ae7068 (diff)
downloadbiboumi-5cca518c2d946144f4fee1b15dcfd3884850dcb1.tar.gz
biboumi-5cca518c2d946144f4fee1b15dcfd3884850dcb1.tar.bz2
biboumi-5cca518c2d946144f4fee1b15dcfd3884850dcb1.tar.xz
biboumi-5cca518c2d946144f4fee1b15dcfd3884850dcb1.zip
Timed events can have a name, and can be canceled based on their name
Diffstat (limited to 'src/utils/timed_events.cpp')
-rw-r--r--src/utils/timed_events.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/utils/timed_events.cpp b/src/utils/timed_events.cpp
index 10ef4c1..5010a3f 100644
--- a/src/utils/timed_events.cpp
+++ b/src/utils/timed_events.cpp
@@ -1,20 +1,22 @@
#include <utils/timed_events.hpp>
TimedEvent::TimedEvent(std::chrono::steady_clock::time_point&& time_point,
- std::function<void()> callback):
+ std::function<void()> callback, const std::string& name):
time_point(std::move(time_point)),
callback(callback),
repeat(false),
- repeat_delay(0)
+ repeat_delay(0),
+ name(name)
{
}
TimedEvent::TimedEvent(std::chrono::milliseconds&& duration,
- std::function<void()> callback):
+ std::function<void()> callback, const std::string& name):
time_point(std::chrono::steady_clock::now() + duration),
callback(callback),
repeat(true),
- repeat_delay(std::move(duration))
+ repeat_delay(std::move(duration)),
+ name(name)
{
}
@@ -22,7 +24,8 @@ TimedEvent::TimedEvent(TimedEvent&& other):
time_point(std::move(other.time_point)),
callback(std::move(other.callback)),
repeat(other.repeat),
- repeat_delay(std::move(other.repeat_delay))
+ repeat_delay(std::move(other.repeat_delay)),
+ name(std::move(other.name))
{
}
@@ -52,3 +55,8 @@ void TimedEvent::execute()
{
this->callback();
}
+
+const std::string& TimedEvent::get_name() const
+{
+ return this->name;
+}