diff --git a/apps/mwiniimporter/importer.cpp b/apps/mwiniimporter/importer.cpp index fc9ce417c..e5d4dd2ca 100644 --- a/apps/mwiniimporter/importer.cpp +++ b/apps/mwiniimporter/importer.cpp @@ -635,17 +635,17 @@ MwIniImporter::MwIniImporter() } } -void MwIniImporter::setVerbose(bool verbose) { +void MwIniImporter::setVerbose(const bool verbose) { mVerbose = verbose; } -std::string MwIniImporter::numberToString(int n) { +std::string MwIniImporter::numberToString(const int n) { std::stringstream str; str << n; return str.str(); } -MwIniImporter::multistrmap MwIniImporter::loadIniFile(std::string filename) { +MwIniImporter::multistrmap MwIniImporter::loadIniFile(const std::string& filename) const { std::cout << "load ini file: " << filename << std::endl; std::string section(""); @@ -701,7 +701,7 @@ MwIniImporter::multistrmap MwIniImporter::loadIniFile(std::string filename) { return map; } -MwIniImporter::multistrmap MwIniImporter::loadCfgFile(std::string filename) { +MwIniImporter::multistrmap MwIniImporter::loadCfgFile(const std::string& filename) { std::cout << "load cfg file: " << filename << std::endl; MwIniImporter::multistrmap map; @@ -738,12 +738,11 @@ MwIniImporter::multistrmap MwIniImporter::loadCfgFile(std::string filename) { return map; } -void MwIniImporter::merge(multistrmap &cfg, multistrmap &ini) { - multistrmap::iterator cfgIt; - multistrmap::iterator iniIt; - for(strmap::iterator it=mMergeMap.begin(); it!=mMergeMap.end(); ++it) { +void MwIniImporter::merge(multistrmap &cfg, const multistrmap &ini) const { + multistrmap::const_iterator iniIt; + for(strmap::const_iterator it=mMergeMap.begin(); it!=mMergeMap.end(); ++it) { if((iniIt = ini.find(it->second)) != ini.end()) { - for(std::vector::iterator vc = iniIt->second.begin(); vc != iniIt->second.end(); ++vc) { + for(std::vector::const_iterator vc = iniIt->second.begin(); vc != iniIt->second.end(); ++vc) { cfg.erase(it->first); insertMultistrmap(cfg, it->first, *vc); } @@ -751,14 +750,13 @@ void MwIniImporter::merge(multistrmap &cfg, multistrmap &ini) { } } -void MwIniImporter::mergeFallback(multistrmap &cfg, multistrmap &ini) { +void MwIniImporter::mergeFallback(multistrmap &cfg, const multistrmap &ini) const { cfg.erase("fallback"); - multistrmap::iterator cfgIt; - multistrmap::iterator iniIt; - for(std::vector::iterator it=mMergeFallback.begin(); it!=mMergeFallback.end(); ++it) { + multistrmap::const_iterator iniIt; + for(std::vector::const_iterator it=mMergeFallback.begin(); it!=mMergeFallback.end(); ++it) { if((iniIt = ini.find(*it)) != ini.end()) { - for(std::vector::iterator vc = iniIt->second.begin(); vc != iniIt->second.end(); ++vc) { + for(std::vector::const_iterator vc = iniIt->second.begin(); vc != iniIt->second.end(); ++vc) { std::string value(*it); std::replace( value.begin(), value.end(), ' ', '_' ); std::replace( value.begin(), value.end(), ':', '_' ); @@ -769,21 +767,21 @@ void MwIniImporter::mergeFallback(multistrmap &cfg, multistrmap &ini) { } } -void MwIniImporter::insertMultistrmap(multistrmap &cfg, std::string key, std::string value) { - multistrmap::iterator it = cfg.find(key); +void MwIniImporter::insertMultistrmap(multistrmap &cfg, const std::string& key, const std::string& value) { + const multistrmap::const_iterator it = cfg.find(key); if(it == cfg.end()) { cfg.insert(std::make_pair (key, std::vector() )); } cfg[key].push_back(value); } -void MwIniImporter::importArchives(multistrmap &cfg, multistrmap &ini) { +void MwIniImporter::importArchives(multistrmap &cfg, const multistrmap &ini) const { std::vector archives; std::string baseArchive("Archives:Archive "); std::string archive; // Search archives listed in ini file - multistrmap::iterator it = ini.begin(); + multistrmap::const_iterator it = ini.begin(); for(int i=0; it != ini.end(); i++) { archive = baseArchive; archive.append(this->numberToString(i)); @@ -793,7 +791,7 @@ void MwIniImporter::importArchives(multistrmap &cfg, multistrmap &ini) { break; } - for(std::vector::iterator entry = it->second.begin(); entry!=it->second.end(); ++entry) { + for(std::vector::const_iterator entry = it->second.begin(); entry!=it->second.end(); ++entry) { archives.push_back(*entry); } } @@ -805,18 +803,18 @@ void MwIniImporter::importArchives(multistrmap &cfg, multistrmap &ini) { // does not appears in the ini file cfg["fallback-archive"].push_back("Morrowind.bsa"); - for(std::vector::iterator it=archives.begin(); it!=archives.end(); ++it) { + for(std::vector::const_iterator it=archives.begin(); it!=archives.end(); ++it) { cfg["fallback-archive"].push_back(*it); } } -void MwIniImporter::importGameFiles(multistrmap &cfg, multistrmap &ini) { +void MwIniImporter::importGameFiles(multistrmap &cfg, const multistrmap &ini) const { std::vector esmFiles; std::vector espFiles; std::string baseGameFile("Game Files:GameFile"); std::string gameFile(""); - multistrmap::iterator it = ini.begin(); + multistrmap::const_iterator it = ini.begin(); for(int i=0; it != ini.end(); i++) { gameFile = baseGameFile; gameFile.append(this->numberToString(i)); @@ -826,7 +824,7 @@ void MwIniImporter::importGameFiles(multistrmap &cfg, multistrmap &ini) { break; } - for(std::vector::iterator entry = it->second.begin(); entry!=it->second.end(); ++entry) { + for(std::vector::const_iterator entry = it->second.begin(); entry!=it->second.end(); ++entry) { std::string filetype(entry->substr(entry->length()-3)); Misc::StringUtils::toLower(filetype); @@ -844,22 +842,22 @@ void MwIniImporter::importGameFiles(multistrmap &cfg, multistrmap &ini) { cfg.erase("master"); cfg.insert( std::make_pair > ("master", std::vector() ) ); - for(std::vector::iterator it=esmFiles.begin(); it!=esmFiles.end(); ++it) { + for(std::vector::const_iterator it=esmFiles.begin(); it!=esmFiles.end(); ++it) { cfg["master"].push_back(*it); } cfg.erase("plugin"); cfg.insert( std::make_pair > ("plugin", std::vector() ) ); - for(std::vector::iterator it=espFiles.begin(); it!=espFiles.end(); ++it) { + for(std::vector::const_iterator it=espFiles.begin(); it!=espFiles.end(); ++it) { cfg["plugin"].push_back(*it); } } -void MwIniImporter::writeToFile(boost::iostreams::stream &out, multistrmap &cfg) { +void MwIniImporter::writeToFile(boost::iostreams::stream &out, const multistrmap &cfg) { - for(multistrmap::iterator it=cfg.begin(); it != cfg.end(); ++it) { - for(std::vector::iterator entry=it->second.begin(); entry != it->second.end(); ++entry) { + for(multistrmap::const_iterator it=cfg.begin(); it != cfg.end(); ++it) { + for(std::vector::const_iterator entry=it->second.begin(); entry != it->second.end(); ++entry) { out << (it->first) << "=" << (*entry) << std::endl; } } diff --git a/apps/mwiniimporter/importer.hpp b/apps/mwiniimporter/importer.hpp index 6b99810bc..362b8c29c 100644 --- a/apps/mwiniimporter/importer.hpp +++ b/apps/mwiniimporter/importer.hpp @@ -17,19 +17,18 @@ class MwIniImporter { MwIniImporter(); void setInputEncoding(const ToUTF8::FromType& encoding); - void setVerbose(bool verbose); - multistrmap loadIniFile(std::string filename); - multistrmap loadCfgFile(std::string filename); - void merge(multistrmap &cfg, multistrmap &ini); - void mergeFallback(multistrmap &cfg, multistrmap &ini); - void importGameFiles(multistrmap &cfg, multistrmap &ini); - void importArchives(multistrmap &cfg, multistrmap &ini); - void writeToFile(boost::iostreams::stream &out, multistrmap &cfg); - + void setVerbose(const bool verbose); + multistrmap loadIniFile(const std::string& filename) const; + static multistrmap loadCfgFile(const std::string& filename); + void merge(multistrmap &cfg, const multistrmap &ini) const; + void mergeFallback(multistrmap &cfg, const multistrmap &ini) const; + void importGameFiles(multistrmap &cfg, const multistrmap &ini) const; + void importArchives(multistrmap &cfg, const multistrmap &ini) const; + static void writeToFile(boost::iostreams::stream &out, const multistrmap &cfg); + private: - void insertMultistrmap(multistrmap &cfg, std::string key, std::string value); - std::string numberToString(int n); - std::string toUTF8(const std::string &str); + static void insertMultistrmap(multistrmap &cfg, const std::string& key, const std::string& value); + static std::string numberToString(const int n); bool mVerbose; strmap mMergeMap; std::vector mMergeFallback;