summaryrefslogtreecommitdiffstats
path: root/src/Common/ConfigManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Common/ConfigManager.cpp')
-rw-r--r--src/Common/ConfigManager.cpp10
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;
}