Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/load.cpp
Show First 20 Lines • Show All 135 Lines • ▼ Show 20 Lines | void StopWallets() { | ||||
} | } | ||||
} | } | ||||
void UnloadWallets() { | void UnloadWallets() { | ||||
auto wallets = GetWallets(); | auto wallets = GetWallets(); | ||||
while (!wallets.empty()) { | while (!wallets.empty()) { | ||||
auto wallet = wallets.back(); | auto wallet = wallets.back(); | ||||
wallets.pop_back(); | wallets.pop_back(); | ||||
RemoveWallet(wallet); | std::vector<bilingual_str> warnings; | ||||
RemoveWallet(wallet, std::nullopt, warnings); | |||||
UnloadWallet(std::move(wallet)); | UnloadWallet(std::move(wallet)); | ||||
} | } | ||||
} | } | ||||
bool AddWalletSetting(interfaces::Chain &chain, | |||||
const std::string &wallet_name) { | |||||
util::SettingsValue setting_value = chain.getRwSetting("wallet"); | |||||
if (!setting_value.isArray()) { | |||||
setting_value.setArray(); | |||||
} | |||||
for (const util::SettingsValue &value : setting_value.getValues()) { | |||||
if (value.isStr() && value.get_str() == wallet_name) { | |||||
return true; | |||||
} | |||||
} | |||||
setting_value.push_back(wallet_name); | |||||
return chain.updateRwSetting("wallet", setting_value); | |||||
} | |||||
bool RemoveWalletSetting(interfaces::Chain &chain, | |||||
const std::string &wallet_name) { | |||||
util::SettingsValue setting_value = chain.getRwSetting("wallet"); | |||||
if (!setting_value.isArray()) { | |||||
return true; | |||||
} | |||||
util::SettingsValue new_value(util::SettingsValue::VARR); | |||||
for (const util::SettingsValue &value : setting_value.getValues()) { | |||||
if (!value.isStr() || value.get_str() != wallet_name) { | |||||
new_value.push_back(value); | |||||
} | |||||
} | |||||
if (new_value.size() == setting_value.size()) { | |||||
return true; | |||||
} | |||||
return chain.updateRwSetting("wallet", new_value); | |||||
} |