void LoadFromSystemSection(Config::Layer* config_layer, const IniFile::Section& section) const { const std::string section_name = section.GetName(); if (section.HasLines()) { // Trash INI File chunks std::vector<std::string> chunk; section.GetLines(&chunk, true); if (chunk.size()) { const auto mapped_config = MapINIToRealLocation(section_name, ""); if (mapped_config.section.empty() && mapped_config.key.empty()) return; auto* config_section = config_layer->GetOrCreateSection(mapped_config.system, mapped_config.section); config_section->SetLines(chunk); } } // Regular key,value pairs const IniFile::Section::SectionMap& section_map = section.GetValues(); for (const auto& value : section_map) { const auto mapped_config = MapINIToRealLocation(section_name, value.first); if (mapped_config.section.empty() && mapped_config.key.empty()) continue; auto* config_section = config_layer->GetOrCreateSection(mapped_config.system, mapped_config.section); config_section->Set(mapped_config.key, value.second); } }