diff options
Diffstat (limited to 'src/Common/ConfigManager.cpp')
-rw-r--r-- | src/Common/ConfigManager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/Common/ConfigManager.cpp b/src/Common/ConfigManager.cpp index 20a6110..a7270e2 100644 --- a/src/Common/ConfigManager.cpp +++ b/src/Common/ConfigManager.cpp @@ -31,11 +31,19 @@ namespace Common { ConfigManager ConfigManager::configManager; +bool ConfigManager::Compare::operator() (const Configurable *c1, const Configurable *c2) { + if(c1->getPriority() != c2->getPriority()) + return c1->getPriority() > c2->getPriority(); + else + return c1 < c2; +} + + void ConfigManager::handleConfigEntry(const std::vector<std::vector<std::string> > &entry) { bool handled = false; for(std::set<Configurable*>::iterator c = configurables.begin(); c != configurables.end(); ++c) { - if((*c)->handleConfigEntry(entry)) + if((*c)->handleConfigEntry(entry, handled)) handled = true; } |