summaryrefslogtreecommitdiff
path: root/src/configuration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/configuration.cpp')
-rw-r--r--src/configuration.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 489755341..55ad392f3 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -37,6 +37,12 @@ std::map<std::string, int> optionsCount;
#define GETLOG()
#endif
+Configuration config; // XML file configuration reader
+Configuration serverConfig; // XML file server configuration reader
+Configuration features; // XML file features
+Configuration branding; // XML branding information reader
+Configuration paths; // XML default paths information reader
+
const std::string unusedKeys[] =
{
"AttackRange",
@@ -842,6 +848,27 @@ void Configuration::removeListener(const std::string &key,
mListenerMap[key].remove(listener);
}
+#ifdef ENABLE_CHECKS
+void Configuration::checkListeners(ConfigListener *const listener,
+ const char *const file,
+ const unsigned line)
+{
+ FOR_EACH (ListenerMapIterator, it, mListenerMap)
+ {
+ Listeners listeners = it->second;
+ FOR_EACH (ListenerIterator, it2, listeners)
+ {
+ if (*it2 == listener)
+ {
+ logger->log("detected not cleaned listener: %p, %s:%u",
+ static_cast<void*>(listener), file, line);
+ exit(1);
+ }
+ }
+ }
+}
+#endif
+
void Configuration::removeListeners(ConfigListener *const listener)
{
FOR_EACH (ListenerMapIterator, it, mListenerMap)