mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-14 01:25:09 +01:00
c7ec524[wallet] Add dummy wallet init class (John Newbery)49baa4a[wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery)caaf972[wallet] Create wallet init interface. (John Newbery)5fb5421[wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f
75 lines
2.5 KiB
C++
75 lines
2.5 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_INIT_H
|
|
#define BITCOIN_INIT_H
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
class CScheduler;
|
|
class CWallet;
|
|
|
|
class WalletInitInterface;
|
|
extern std::unique_ptr<WalletInitInterface> g_wallet_init_interface;
|
|
|
|
namespace boost
|
|
{
|
|
class thread_group;
|
|
} // namespace boost
|
|
|
|
void StartShutdown();
|
|
bool ShutdownRequested();
|
|
/** Interrupt threads */
|
|
void Interrupt();
|
|
void Shutdown();
|
|
//!Initialize the logging infrastructure
|
|
void InitLogging();
|
|
//!Parameter interaction: change current parameters depending on various rules
|
|
void InitParameterInteraction();
|
|
|
|
/** Initialize bitcoin core: Basic context setup.
|
|
* @note This can be done before daemonization. Do not call Shutdown() if this function fails.
|
|
* @pre Parameters should be parsed and config file should be read.
|
|
*/
|
|
bool AppInitBasicSetup();
|
|
/**
|
|
* Initialization: parameter interaction.
|
|
* @note This can be done before daemonization. Do not call Shutdown() if this function fails.
|
|
* @pre Parameters should be parsed and config file should be read, AppInitBasicSetup should have been called.
|
|
*/
|
|
bool AppInitParameterInteraction();
|
|
/**
|
|
* Initialization sanity checks: ecc init, sanity checks, dir lock.
|
|
* @note This can be done before daemonization. Do not call Shutdown() if this function fails.
|
|
* @pre Parameters should be parsed and config file should be read, AppInitParameterInteraction should have been called.
|
|
*/
|
|
bool AppInitSanityChecks();
|
|
/**
|
|
* Lock bitcoin core data directory.
|
|
* @note This should only be done after daemonization. Do not call Shutdown() if this function fails.
|
|
* @pre Parameters should be parsed and config file should be read, AppInitSanityChecks should have been called.
|
|
*/
|
|
bool AppInitLockDataDirectory();
|
|
/**
|
|
* Bitcoin core main initialization.
|
|
* @note This should only be done after daemonization. Call Shutdown() if this function fails.
|
|
* @pre Parameters should be parsed and config file should be read, AppInitLockDataDirectory should have been called.
|
|
*/
|
|
bool AppInitMain();
|
|
|
|
/** The help message mode determines what help message to show */
|
|
enum class HelpMessageMode {
|
|
BITCOIND,
|
|
BITCOIN_QT
|
|
};
|
|
|
|
/** Help for options shared between UI and daemon (for -help) */
|
|
std::string HelpMessage(HelpMessageMode mode);
|
|
/** Returns licensing information (for -version) */
|
|
std::string LicenseInfo();
|
|
|
|
#endif // BITCOIN_INIT_H
|