refactor: Add ArgsManager::GetSettingsList method

Add for consistency with ArgsManager::GetSetting method and to make setting
types accessible to ArgsManager callers and tests (test added next commit).

This commit does not change behavior.
pull/764/head
Russell Yanofsky 5 years ago
parent 3e185522ac
commit 0fa54358b0

@ -352,11 +352,8 @@ Optional<unsigned int> ArgsManager::GetArgFlags(const std::string& name) const
std::vector<std::string> ArgsManager::GetArgs(const std::string& strArg) const std::vector<std::string> ArgsManager::GetArgs(const std::string& strArg) const
{ {
LOCK(cs_args);
bool ignore_default_section_config = !UseDefaultSection(strArg);
std::vector<std::string> result; std::vector<std::string> result;
for (const util::SettingsValue& value : for (const util::SettingsValue& value : GetSettingsList(strArg)) {
util::GetSettingsList(m_settings, m_network, SettingName(strArg), ignore_default_section_config)) {
result.push_back(value.isFalse() ? "0" : value.isTrue() ? "1" : value.get_str()); result.push_back(value.isFalse() ? "0" : value.isTrue() ? "1" : value.get_str());
} }
return result; return result;
@ -869,6 +866,12 @@ util::SettingsValue ArgsManager::GetSetting(const std::string& arg) const
m_settings, m_network, SettingName(arg), !UseDefaultSection(arg), /* get_chain_name= */ false); m_settings, m_network, SettingName(arg), !UseDefaultSection(arg), /* get_chain_name= */ false);
} }
std::vector<util::SettingsValue> ArgsManager::GetSettingsList(const std::string& arg) const
{
LOCK(cs_args);
return util::GetSettingsList(m_settings, m_network, SettingName(arg), !UseDefaultSection(arg));
}
bool RenameOver(fs::path src, fs::path dest) bool RenameOver(fs::path src, fs::path dest)
{ {
#ifdef WIN32 #ifdef WIN32

@ -180,6 +180,11 @@ protected:
*/ */
util::SettingsValue GetSetting(const std::string& arg) const; util::SettingsValue GetSetting(const std::string& arg) const;
/**
* Get list of setting values.
*/
std::vector<util::SettingsValue> GetSettingsList(const std::string& arg) const;
public: public:
ArgsManager(); ArgsManager();

Loading…
Cancel
Save