Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/ps/ConfigDB.cpp
/* Copyright (C) 2021 Wildfire Games. | /* Copyright (C) 2022 Wildfire Games. | ||||
* This file is part of 0 A.D. | * This file is part of 0 A.D. | ||||
* | * | ||||
* 0 A.D. is free software: you can redistribute it and/or modify | * 0 A.D. is free software: you can redistribute it and/or modify | ||||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | ||||
* the Free Software Foundation, either version 2 of the License, or | * the Free Software Foundation, either version 2 of the License, or | ||||
* (at your option) any later version. | * (at your option) any later version. | ||||
* | * | ||||
* 0 A.D. is distributed in the hope that it will be useful, | * 0 A.D. is distributed in the hope that it will be useful, | ||||
▲ Show 20 Lines • Show All 249 Lines • ▼ Show 20 Lines | void CConfigDB::SetValueList(EConfigNamespace ns, const CStr& name, std::vector<CStr> values) | ||||
std::lock_guard<std::recursive_mutex> s(m_Mutex); | std::lock_guard<std::recursive_mutex> s(m_Mutex); | ||||
TConfigMap::iterator it = m_Map[ns].find(name); | TConfigMap::iterator it = m_Map[ns].find(name); | ||||
if (it == m_Map[ns].end()) | if (it == m_Map[ns].end()) | ||||
it = m_Map[ns].insert(m_Map[ns].begin(), make_pair(name, CConfigValueSet(1))); | it = m_Map[ns].insert(m_Map[ns].begin(), make_pair(name, CConfigValueSet(1))); | ||||
it->second = values; | it->second = values; | ||||
} | } | ||||
void CConfigDB::RemoveValue(EConfigNamespace ns, const CStr& name) | bool CConfigDB::RemoveValue(EConfigNamespace ns, const CStr& name) | ||||
{ | { | ||||
CHECK_NS(;); | CHECK_NS(false); | ||||
std::lock_guard<std::recursive_mutex> s(m_Mutex); | std::lock_guard<std::recursive_mutex> s(m_Mutex); | ||||
TConfigMap::iterator it = m_Map[ns].find(name); | TConfigMap::iterator it = m_Map[ns].find(name); | ||||
if (it == m_Map[ns].end()) | if (it == m_Map[ns].end()) | ||||
return; | return false; | ||||
m_Map[ns].erase(it); | m_Map[ns].erase(it); | ||||
TriggerAllHooks(m_Hooks, name); | TriggerAllHooks(m_Hooks, name); | ||||
return true; | |||||
} | } | ||||
void CConfigDB::SetConfigFile(EConfigNamespace ns, const VfsPath& path) | void CConfigDB::SetConfigFile(EConfigNamespace ns, const VfsPath& path) | ||||
{ | { | ||||
CHECK_NS(;); | CHECK_NS(;); | ||||
std::lock_guard<std::recursive_mutex> s(m_Mutex); | std::lock_guard<std::recursive_mutex> s(m_Mutex); | ||||
m_ConfigFile[ns] = path; | m_ConfigFile[ns] = path; | ||||
▲ Show 20 Lines • Show All 253 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator