diff options
author | Andrei Karas <akaras@inbox.ru> | 2012-02-29 20:45:54 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2012-02-29 20:45:54 +0300 |
commit | 5b4160a49385bc6895681c5d103a4a5716829e4b (patch) | |
tree | 2b0119eef31a34b6345ce2b6f49ff8f0cfbca499 /src/configuration.cpp | |
parent | 085abf777701c8bdb3091084fe851b125e787ae1 (diff) | |
download | mv-5b4160a49385bc6895681c5d103a4a5716829e4b.tar.gz mv-5b4160a49385bc6895681c5d103a4a5716829e4b.tar.bz2 mv-5b4160a49385bc6895681c5d103a4a5716829e4b.tar.xz mv-5b4160a49385bc6895681c5d103a4a5716829e4b.zip |
Simplify remove listener calls.
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r-- | src/configuration.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp index 97540c385..624cf7865 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -617,14 +617,22 @@ void Configuration::write() xmlFreeTextWriter(writer); } -void Configuration::addListener( - const std::string &key, ConfigListener *listener) +void Configuration::addListener(const std::string &key, + ConfigListener *listener) { mListenerMap[key].push_front(listener); } -void Configuration::removeListener( - const std::string &key, ConfigListener *listener) +void Configuration::removeListener(const std::string &key, + ConfigListener *listener) { mListenerMap[key].remove(listener); } + +void Configuration::removeListeners(ConfigListener *listener) +{ + ListenerMapIterator it = mListenerMap.begin(); + ListenerMapIterator it_end = mListenerMap.end(); + for (; it != it_end; ++ it) + (it->second).remove(listener); +} |