summaryrefslogtreecommitdiff
path: root/src/utils/timed_events_manager.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_manager.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_manager.cpp')
-rw-r--r--src/utils/timed_events_manager.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/utils/timed_events_manager.cpp b/src/utils/timed_events_manager.cpp
index c3e260c..a03444e 100644
--- a/src/utils/timed_events_manager.cpp
+++ b/src/utils/timed_events_manager.cpp
@@ -53,3 +53,23 @@ std::size_t TimedEventsManager::execute_expired_events()
return count;
}
+std::size_t TimedEventsManager::cancel(const std::string& name)
+{
+ std::size_t res = 0;
+ for (auto it = this->events.begin(); it != this->events.end();)
+ {
+ if (it->get_name() == name)
+ {
+ it = this->events.erase(it);
+ res++;
+ }
+ else
+ ++it;
+ }
+ return res;
+}
+
+std::size_t TimedEventsManager::size() const
+{
+ return this->events.size();
+}