5#ifndef BITCOIN_INTERFACES_INIT_H
6#define BITCOIN_INTERFACES_INIT_H
35 virtual std::unique_ptr<Node>
makeNode() {
return nullptr; }
36 virtual std::unique_ptr<Chain>
makeChain() {
return nullptr; }
37 virtual std::unique_ptr<Mining>
makeMining() {
return nullptr; }
39 virtual std::unique_ptr<Echo>
makeEcho() {
return nullptr; }
40 virtual std::unique_ptr<Rpc>
makeRpc() {
return nullptr; }
41 virtual Ipc*
ipc() {
return nullptr; }
43 virtual const char*
exeName() {
return nullptr; }
44 virtual void makeMiningOld2() {
throw std::runtime_error(
"Old mining interface (@2) not supported. Please update your client!"); }
59std::unique_ptr<Init>
MakeGuiInit(
int argc,
char* argv[]);
78std::unique_ptr<Init>
MakeBasicInit(
const char* exe_name,
const char* process_argv0=
"");
Interface giving clients (wallet processes, maybe other analysis tools in the future) ability to acce...
Initial interface created when a process is first started, and used to give and get access to other i...
virtual std::unique_ptr< Rpc > makeRpc()
virtual std::unique_ptr< Echo > makeEcho()
virtual std::unique_ptr< Chain > makeChain()
virtual bool canListenIpc()
virtual std::unique_ptr< Node > makeNode()
virtual std::unique_ptr< Mining > makeMining()
virtual const char * exeName()
virtual std::unique_ptr< WalletLoader > makeWalletLoader(Chain &chain)
virtual void makeMiningOld2()
Interface providing access to interprocess-communication (IPC) functionality.
std::unique_ptr< Init > MakeBasicInit(const char *exe_name, const char *process_argv0)
Return implementation of Init interface for a basic IPC client that doesn't provide any IPC services ...
std::unique_ptr< Init > MakeGuiInit(int argc, char *argv[])
Return implementation of Init interface for the gui process.
std::unique_ptr< Init > MakeNodeInit(node::NodeContext &node, int argc, char *argv[], int &exit_status)
Return implementation of Init interface for the node process.
std::unique_ptr< Init > MakeWalletInit(int argc, char *argv[], int &exit_status)
Return implementation of Init interface for the wallet process.
NodeContext struct containing references to chain state and connection state.