mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-02 01:36:13 +00:00
This commit creates a global g_wallet_init_interface, which is created in bitcoind and bitcoin-qt. g_wallet_init_interface is used to init and destroy the wallet. This removes the dependency from init.cpp on the wallet library.
49 lines
1.4 KiB
C++
49 lines
1.4 KiB
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2017 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_WALLET_INIT_H
|
|
#define BITCOIN_WALLET_INIT_H
|
|
|
|
#include <walletinitinterface.h>
|
|
#include <string>
|
|
|
|
class CRPCTable;
|
|
class CScheduler;
|
|
|
|
class WalletInit : public WalletInitInterface {
|
|
public:
|
|
|
|
//! Return the wallets help message.
|
|
std::string GetHelpString(bool showDebug) override;
|
|
|
|
//! Wallets parameter interaction
|
|
bool ParameterInteraction() override;
|
|
|
|
//! Register wallet RPCs.
|
|
void RegisterRPC(CRPCTable &tableRPC) override;
|
|
|
|
//! Responsible for reading and validating the -wallet arguments and verifying the wallet database.
|
|
// This function will perform salvage on the wallet if requested, as long as only one wallet is
|
|
// being loaded (WalletParameterInteraction forbids -salvagewallet, -zapwallettxes or -upgradewallet with multiwallet).
|
|
bool Verify() override;
|
|
|
|
//! Load wallet databases.
|
|
bool Open() override;
|
|
|
|
//! Complete startup of wallets.
|
|
void Start(CScheduler& scheduler) override;
|
|
|
|
//! Flush all wallets in preparation for shutdown.
|
|
void Flush() override;
|
|
|
|
//! Stop all wallets. Wallets will be flushed first.
|
|
void Stop() override;
|
|
|
|
//! Close all wallets.
|
|
void Close() override;
|
|
};
|
|
|
|
#endif // BITCOIN_WALLET_INIT_H
|