Config: Extract layer search order to header

This commit is contained in:
MerryMage 2017-05-18 13:53:52 +01:00
parent 57264022ce
commit 6151bc1714
2 changed files with 9 additions and 8 deletions

View File

@ -4,6 +4,8 @@
#pragma once
#include <array>
namespace Config
{
enum class LayerType
@ -29,4 +31,10 @@ enum class System
Debugger,
UI,
};
constexpr std::array<LayerType, 7> SEARCH_ORDER{{
// Skip the meta layer
LayerType::CurrentRun, LayerType::CommandLine, LayerType::Movie, LayerType::Netplay,
LayerType::LocalGame, LayerType::GlobalGame, LayerType::Base,
}};
}

View File

@ -2,7 +2,6 @@
// Licensed under GPLv2+
// Refer to the license.txt file included.
#include <array>
#include <cstddef>
#include <map>
#include <memory>
@ -254,13 +253,7 @@ bool RecursiveSection::Exists(const std::string& key) const
bool RecursiveSection::Get(const std::string& key, std::string* value,
const std::string& default_value) const
{
static constexpr std::array<LayerType, 7> search_order = {{
// Skip the meta layer
LayerType::CurrentRun, LayerType::CommandLine, LayerType::Movie, LayerType::Netplay,
LayerType::LocalGame, LayerType::GlobalGame, LayerType::Base,
}};
for (auto layer_id : search_order)
for (auto layer_id : SEARCH_ORDER)
{
auto layers_it = Config::GetLayers()->find(layer_id);
if (layers_it == Config::GetLayers()->end())