return true;
}
-
-std::string Settings::sanitizeName(const std::string &name)
-{
- std::string n = trim(name);
-
- for (const char *s = "=\"{}#"; *s; s++)
- n.erase(std::remove(n.begin(), n.end(), *s), n.end());
-
- return n;
-}
-
-
-std::string Settings::sanitizeValue(const std::string &value)
-{
- std::string v(value);
- size_t p = 0;
-
- if (v.substr(0, 3) == "\"\"\"")
- v.erase(0, 3);
-
- while ((p = v.find("\n\"\"\"")) != std::string::npos)
- v.erase(p, 4);
-
- return v;
-}
-
-
std::string Settings::getMultiline(std::istream &is, size_t *num_lines)
{
size_t lines = 1;
{
MutexAutoLock lock(m_mutex);
- for (std::map<std::string, SettingsEntry>::const_iterator
- it = m_settings.begin();
- it != m_settings.end(); ++it)
+ for (SettingEntries::const_iterator it = m_settings.begin();
+ it != m_settings.end(); ++it)
printEntry(os, it->first, it->second, tab_depth);
}
bool Settings::updateConfigObject(std::istream &is, std::ostream &os,
const std::string &end, u32 tab_depth)
{
- std::map<std::string, SettingsEntry>::const_iterator it;
+ SettingEntries::const_iterator it;
std::set<std::string> present_entries;
std::string line, name, value;
bool was_modified = false;
{
MutexAutoLock lock(m_mutex);
- std::map<std::string, SettingsEntry>::const_iterator n;
+ SettingEntries::const_iterator n;
if ((n = m_settings.find(name)) == m_settings.end()) {
if ((n = m_defaults.find(name)) == m_defaults.end())
throw SettingNotFoundException("Setting [" + name + "] not found.");
}
-std::string Settings::get(const std::string &name) const
+const std::string &Settings::get(const std::string &name) const
{
const SettingsEntry &entry = getEntry(name);
if (entry.is_group)
std::vector<std::string> Settings::getNames() const
{
std::vector<std::string> names;
- for (std::map<std::string, SettingsEntry>::const_iterator
- i = m_settings.begin();
- i != m_settings.end(); ++i) {
+ for (SettingEntries::const_iterator i = m_settings.begin();
+ i != m_settings.end(); ++i) {
names.push_back(i->first);
}
return names;
{
MutexAutoLock lock(m_mutex);
- std::map<std::string, SettingsEntry>::iterator it = m_settings.find(name);
+ SettingEntries::iterator it = m_settings.find(name);
if (it != m_settings.end()) {
delete it->second.group;
m_settings.erase(it);
try {
std::string val = other.get(name);
-
m_settings[name] = val;
} catch (SettingNotFoundException &e) {
}
void Settings::clearNoLock()
{
- std::map<std::string, SettingsEntry>::const_iterator it;
- for (it = m_settings.begin(); it != m_settings.end(); ++it)
+
+ for (SettingEntries::const_iterator it = m_settings.begin();
+ it != m_settings.end(); ++it)
delete it->second.group;
m_settings.clear();
void Settings::clearDefaultsNoLock()
{
- std::map<std::string, SettingsEntry>::const_iterator it;
- for (it = m_defaults.begin(); it != m_defaults.end(); ++it)
+ for (SettingEntries::const_iterator it = m_defaults.begin();
+ it != m_defaults.end(); ++it)
delete it->second.group;
m_defaults.clear();
}