diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-10-20 22:47:07 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-10-20 22:47:07 +0200 |
commit | e3d0c98e5a867518800bc79c18f7b13755c056e0 (patch) | |
tree | 874fff633e497040a28b72ffc7cbec208b2ac3ee /src/Common/ConfigManager.cpp | |
parent | 3944988f51769b0ffd8e58c05566c82416bf983d (diff) | |
download | mad-e3d0c98e5a867518800bc79c18f7b13755c056e0.tar mad-e3d0c98e5a867518800bc79c18f7b13755c056e0.zip |
Einige Verbesserungen am ConfigManager
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; } |