diff options
author | Florent Le Coz <louiz@louiz.org> | 2014-05-30 15:42:01 +0200 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2014-05-30 15:42:01 +0200 |
commit | 5cca518c2d946144f4fee1b15dcfd3884850dcb1 (patch) | |
tree | 392f1935cf9bd8b21a9346f03a4f934e63e9e94a /src/utils/timed_events_manager.cpp | |
parent | a63faf6fa95017dbbfeaf0ff43fdb526c4ae7068 (diff) | |
download | biboumi-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.cpp | 20 |
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(); +} |