// Copyright 2020 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #pragma once #include #include #include "Common/IniFile.h" template void ReadEnabledOrDisabled(const IniFile& ini, const std::string& section, bool enabled, std::vector* codes) { std::vector lines; ini.GetLines(section, &lines, false); for (const std::string& line : lines) { if (line.empty() || line[0] != '$') continue; for (T& code : *codes) { // Exclude the initial '$' from the comparison. if (line.compare(1, std::string::npos, code.name) == 0) code.enabled = enabled; } } } template void ReadEnabledAndDisabled(const IniFile& ini, const std::string& section, std::vector* codes) { ReadEnabledOrDisabled(ini, section + "_Enabled", true, codes); ReadEnabledOrDisabled(ini, section + "_Disabled", false, codes); }