2019-04-02 18:11:26 -03:00
|
|
|
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
2020-12-31 05:48:25 -03:00
|
|
|
// Copyright (c) 2009-2020 The Bitcoin Core developers
|
2019-04-02 18:11:26 -03:00
|
|
|
// Distributed under the MIT software license, see the accompanying
|
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
|
|
|
#ifndef BITCOIN_WALLET_LOAD_H
|
|
|
|
#define BITCOIN_WALLET_LOAD_H
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
2020-05-11 11:40:21 -04:00
|
|
|
class ArgsManager;
|
2019-04-02 18:11:26 -03:00
|
|
|
class CScheduler;
|
|
|
|
|
|
|
|
namespace interfaces {
|
|
|
|
class Chain;
|
|
|
|
} // namespace interfaces
|
|
|
|
|
2021-11-12 13:13:29 -03:00
|
|
|
namespace wallet {
|
|
|
|
struct WalletContext;
|
|
|
|
|
2019-04-02 18:11:26 -03:00
|
|
|
//! Responsible for reading and validating the -wallet arguments and verifying the wallet database.
|
2020-05-28 13:06:43 -04:00
|
|
|
bool VerifyWallets(WalletContext& context);
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
//! Load wallet databases.
|
2020-05-28 13:06:43 -04:00
|
|
|
bool LoadWallets(WalletContext& context);
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
//! Complete startup of wallets.
|
2020-05-28 13:06:43 -04:00
|
|
|
void StartWallets(WalletContext& context, CScheduler& scheduler);
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
//! Flush all wallets in preparation for shutdown.
|
2020-05-28 13:06:43 -04:00
|
|
|
void FlushWallets(WalletContext& context);
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
//! Stop all wallets. Wallets will be flushed first.
|
2020-05-28 13:06:43 -04:00
|
|
|
void StopWallets(WalletContext& context);
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
//! Close all wallets.
|
2020-05-28 13:06:43 -04:00
|
|
|
void UnloadWallets(WalletContext& context);
|
2021-11-12 13:13:29 -03:00
|
|
|
} // namespace wallet
|
2019-04-02 18:11:26 -03:00
|
|
|
|
|
|
|
#endif // BITCOIN_WALLET_LOAD_H
|