Bitcoin ABC  0.22.13
P2P Digital Currency
init.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2018 The Bitcoin Core developers
3 // Copyright (c) 2018-2019 The Bitcoin developers
4 // Distributed under the MIT software license, see the accompanying
5 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
6 
7 #ifndef BITCOIN_INIT_H
8 #define BITCOIN_INIT_H
9 
10 #include <util/system.h>
11 
12 #include <memory>
13 #include <string>
14 
15 class ArgsManager;
16 class Config;
17 class CScheduler;
18 class CWallet;
20 struct NodeContext;
21 class RPCServer;
22 
23 namespace boost {
24 class thread_group;
25 } // namespace boost
26 namespace util {
27 class Ref;
28 } // namespace util
29 
31 void Interrupt(NodeContext &node);
32 void Shutdown(NodeContext &node);
34 void InitLogging(const ArgsManager &args);
37 
44 bool AppInitBasicSetup(ArgsManager &args);
52 bool AppInitParameterInteraction(Config &config, const ArgsManager &args);
60 bool AppInitSanityChecks();
75 bool AppInitMain(Config &config, RPCServer &rpcServer,
76  HTTPRPCRequestProcessor &httpRPCRequestProcessor,
77  NodeContext &node);
78 
82 void SetupServerArgs(NodeContext &node);
83 
85 std::string LicenseInfo();
86 
87 #endif // BITCOIN_INIT_H
void InitParameterInteraction(ArgsManager &args)
Parameter interaction: change current parameters depending on various rules.
Definition: init.cpp:1489
Definition: httprpc.h:13
bool AppInitMain(Config &config, RPCServer &rpcServer, HTTPRPCRequestProcessor &httpRPCRequestProcessor, NodeContext &node)
Bitcoin main initialization.
Definition: init.cpp:2092
Definition: init.h:23
bool AppInitSanityChecks()
Initialization sanity checks: ecc init, sanity checks, dir lock.
Definition: init.cpp:2057
bool AppInitBasicSetup(ArgsManager &args)
Initialize bitcoin: Basic context setup.
Definition: init.cpp:1648
void InitLogging(const ArgsManager &args)
Initialize the logging infrastructure.
Definition: init.cpp:1601
Definition: config.h:19
NodeContext struct containing references to chain state and connection state.
Definition: context.h:35
bool AppInitLockDataDirectory()
Lock bitcoin data directory.
Definition: init.cpp:2080
Class for registering and managing all RPC calls.
Definition: server.h:41
void Interrupt(NodeContext &node)
Interrupt threads.
Definition: init.cpp:157
std::string LicenseInfo()
Returns licensing information (for -version)
Definition: init.cpp:1245
void Shutdown(NodeContext &node)
Definition: init.cpp:178
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition: wallet.h:679
bool AppInitParameterInteraction(Config &config, const ArgsManager &args)
Initialization: parameter interaction.
Definition: init.cpp:1691
void SetupServerArgs(NodeContext &node)
Register all arguments with the ArgsManager.
Definition: init.cpp:376