[Scummvm-cvs-logs] scummvm master -> 818d3981e32b83e2531f63bb603b4c48cba9b412
lordhoto
lordhoto at gmail.com
Mon Aug 12 23:31:28 CEST 2013
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
11eb168582 GUI: Use Domain::const_iterator in EventRecorder code when possible.
774d53045d COMMON: Do not let ConfigManager::Domain inherit from StringMap.
f7d3b06711 COMMON: Get rid of write version of ConfigManager::getGameDomains.
818d3981e3 Merge pull request #377 from lordhoto/config-manager-cleanup
Commit: 11eb168582a8a580bbed0e55e594bded201e39e4
https://github.com/scummvm/scummvm/commit/11eb168582a8a580bbed0e55e594bded201e39e4
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2013-08-07T18:12:02-07:00
Commit Message:
GUI: Use Domain::const_iterator in EventRecorder code when possible.
Changed paths:
gui/EventRecorder.cpp
gui/EventRecorder.h
diff --git a/gui/EventRecorder.cpp b/gui/EventRecorder.cpp
index 4bf5832..21152dd 100644
--- a/gui/EventRecorder.cpp
+++ b/gui/EventRecorder.cpp
@@ -372,8 +372,8 @@ SdlMixerManager *EventRecorder::getMixerManager() {
}
}
-void EventRecorder::getConfigFromDomain(Common::ConfigManager::Domain *domain) {
- for (Common::ConfigManager::Domain::iterator entry = domain->begin(); entry!= domain->end(); ++entry) {
+void EventRecorder::getConfigFromDomain(const Common::ConfigManager::Domain *domain) {
+ for (Common::ConfigManager::Domain::const_iterator entry = domain->begin(); entry!= domain->end(); ++entry) {
_playbackFile->getHeader().settingsRecords[entry->_key] = entry->_value;
}
}
@@ -386,7 +386,7 @@ void EventRecorder::getConfig() {
void EventRecorder::applyPlaybackSettings() {
- for (Common::StringMap::iterator i = _playbackFile->getHeader().settingsRecords.begin(); i != _playbackFile->getHeader().settingsRecords.end(); ++i) {
+ for (Common::StringMap::const_iterator i = _playbackFile->getHeader().settingsRecords.begin(); i != _playbackFile->getHeader().settingsRecords.end(); ++i) {
Common::String currentValue = ConfMan.get(i->_key);
if (currentValue != i->_value) {
ConfMan.set(i->_key, i->_value, ConfMan.kTransientDomain);
@@ -400,7 +400,7 @@ void EventRecorder::applyPlaybackSettings() {
}
void EventRecorder::removeDifferentEntriesInDomain(Common::ConfigManager::Domain *domain) {
- for (Common::ConfigManager::Domain::iterator entry = domain->begin(); entry!= domain->end(); ++entry) {
+ for (Common::ConfigManager::Domain::const_iterator entry = domain->begin(); entry!= domain->end(); ++entry) {
if (_playbackFile->getHeader().settingsRecords.find(entry->_key) == _playbackFile->getHeader().settingsRecords.end()) {
debugC(1, kDebugLevelEventRec, "playback:action=\"Apply settings\" checksettings:key=%s storedvalue=%s currentvalue="" result=different", entry->_key.c_str(), entry->_value.c_str());
domain->erase(entry->_key);
diff --git a/gui/EventRecorder.h b/gui/EventRecorder.h
index 68ffe16..b2a549e 100644
--- a/gui/EventRecorder.h
+++ b/gui/EventRecorder.h
@@ -199,7 +199,7 @@ private:
void setFileHeader();
void setGameMd5(const ADGameDescription *gameDesc);
void getConfig();
- void getConfigFromDomain(Common::ConfigManager::Domain *domain);
+ void getConfigFromDomain(const Common::ConfigManager::Domain *domain);
void removeDifferentEntriesInDomain(Common::ConfigManager::Domain *domain);
void applyPlaybackSettings();
Commit: 774d53045dd92ec36f6a6c13eb9771ea3eb5c491
https://github.com/scummvm/scummvm/commit/774d53045dd92ec36f6a6c13eb9771ea3eb5c491
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2013-08-07T18:14:23-07:00
Commit Message:
COMMON: Do not let ConfigManager::Domain inherit from StringMap.
Instead we provide wrapper functionality now. Intuitively a Domain is not a
simple StringMap.
Changed paths:
common/config-manager.h
diff --git a/common/config-manager.h b/common/config-manager.h
index d43a7be..d79f647 100644
--- a/common/config-manager.h
+++ b/common/config-manager.h
@@ -47,12 +47,31 @@ class ConfigManager : public Singleton<ConfigManager> {
public:
- class Domain : public StringMap {
+ class Domain {
private:
+ StringMap _entries;
StringMap _keyValueComments;
String _domainComment;
public:
+ typedef StringMap::const_iterator const_iterator;
+ const_iterator begin() const { return _entries.begin(); }
+ const_iterator end() const { return _entries.end(); }
+
+ bool empty() const { return _entries.empty(); }
+
+ bool contains(const String &key) const { return _entries.contains(key); }
+
+ String &operator[](const String &key) { return _entries[key]; }
+ const String &operator[](const String &key) const { return _entries[key]; }
+
+ String &getVal(const String &key) { return _entries.getVal(key); }
+ const String &getVal(const String &key) const { return _entries.getVal(key); }
+
+ void clear() { _entries.clear(); }
+
+ void erase(const String &key) { _entries.erase(key); }
+
void setDomainComment(const String &comment);
const String &getDomainComment() const;
Commit: f7d3b0671124dba28541c56fb74edd535fdad386
https://github.com/scummvm/scummvm/commit/f7d3b0671124dba28541c56fb74edd535fdad386
Author: Johannes Schickel (lordhoto at scummvm.org)
Date: 2013-08-11T16:33:29-07:00
Commit Message:
COMMON: Get rid of write version of ConfigManager::getGameDomains.
This can be abused to insert Domains into the game domains without any checks.
Instead, only write iterator access is given.
Changed paths:
base/commandLine.cpp
common/config-manager.h
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index a39c748..a032f37 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -827,9 +827,8 @@ void upgradeTargets() {
printf("Upgrading all your existing targets\n");
- Common::ConfigManager::DomainMap &domains = ConfMan.getGameDomains();
- Common::ConfigManager::DomainMap::iterator iter = domains.begin();
- for (iter = domains.begin(); iter != domains.end(); ++iter) {
+ Common::ConfigManager::DomainMap::iterator iter = ConfMan.beginGameDomains();
+ for (; iter != ConfMan.endGameDomains(); ++iter) {
Common::ConfigManager::Domain &dom = iter->_value;
Common::String name(iter->_key);
Common::String gameid(dom.getVal("gameid"));
diff --git a/common/config-manager.h b/common/config-manager.h
index d79f647..31966cd 100644
--- a/common/config-manager.h
+++ b/common/config-manager.h
@@ -162,7 +162,8 @@ public:
bool hasMiscDomain(const String &domName) const;
const DomainMap & getGameDomains() const { return _gameDomains; }
- DomainMap & getGameDomains() { return _gameDomains; }
+ DomainMap::iterator beginGameDomains() { return _gameDomains.begin(); }
+ DomainMap::iterator endGameDomains() { return _gameDomains.end(); }
static void defragment(); // move in memory to reduce fragmentation
void copyFrom(ConfigManager &source);
Commit: 818d3981e32b83e2531f63bb603b4c48cba9b412
https://github.com/scummvm/scummvm/commit/818d3981e32b83e2531f63bb603b4c48cba9b412
Author: Johannes Schickel (lordhoto at gmail.com)
Date: 2013-08-12T14:30:22-07:00
Commit Message:
Merge pull request #377 from lordhoto/config-manager-cleanup
Config Manager Cleanup
Changed paths:
base/commandLine.cpp
common/config-manager.h
gui/EventRecorder.cpp
gui/EventRecorder.h
More information about the Scummvm-git-logs
mailing list