Move map declarations in Settings.h into .cpp

This commit is contained in:
Lucca Jiménez Könings
2024-06-26 11:07:14 +02:00
parent 04e8d00daa
commit 73ecef1a87
2 changed files with 47 additions and 37 deletions

View File

@@ -18,6 +18,49 @@
#include "Settings.h"
Settings::Settings(){
SettingsMap = std::unordered_map<Key, SettingsTypeVariant> {
// All entries which contain std::strings must be explicitly constructed, otherwise they become 'bool'
{ General_Description, std::string("BeamMP Default Description") },
{ General_Tags, std::string("Freeroam") },
{ General_MaxPlayers, 8 },
{ General_Name, std::string("BeamMP Server") },
{ General_Map, std::string("/levels/gridmap_v2/info.json") },
{ General_AuthKey, std::string("") },
{ General_Private, true },
{ General_Port, 30814 },
{ General_MaxCars, 1 },
{ General_LogChat, true },
{ General_ResourceFolder, std::string("Resources") },
{ General_Debug, false },
{ Misc_SendErrorsShowMessage, true },
{ Misc_SendErrors, true },
{ Misc_ImScaredOfUpdates, true }
};
InputAccessMapping = std::unordered_map<ComposedKey, SettingsAccessControl> {
{ { "General", "Description" }, { General_Description, READ_WRITE } },
{ { "General", "Tags" }, { General_Tags, READ_WRITE } },
{ { "General", "MaxPlayers" }, { General_MaxPlayers, READ_WRITE } },
{ { "General", "Name" }, { General_Name, READ_WRITE } },
{ { "General", "Map" }, { General_Map, READ_WRITE } },
{ { "General", "AuthKey" }, { General_AuthKey, READ_WRITE } },
{ { "General", "Private" }, { General_Private, READ_ONLY } },
{ { "General", "Port" }, { General_Port, READ_ONLY } },
{ { "General", "MaxCars" }, { General_MaxCars, READ_WRITE } },
{ { "General", "LogChat" }, { General_LogChat, READ_ONLY } },
{ { "General", "ResourceFolder" }, { General_ResourceFolder, READ_ONLY } },
{ { "General", "Debug" }, { General_Debug, READ_WRITE } },
{ { "Misc", "SendErrorsShowMessage" }, { Misc_SendErrorsShowMessage, READ_WRITE } },
{ { "Misc", "SendErrors" }, { Misc_SendErrors, READ_WRITE } },
{ { "Misc", "ImScaredOfUpdates" }, { Misc_ImScaredOfUpdates, READ_WRITE } }
};
}
std::string Settings::getAsString(Key key) {
auto map = SettingsMap.synchronize();
if (!map->contains(key)) {