Start using init makeNode, makeChain, etc methods

Use interfaces::Init::make* methods instead of interfaces::Make*
functions, so interfaces can be constructed differently in different
executables without having to change any code. (So for example
bitcoin-gui can make an interfaces::Node pointer that communicates with
a bitcoin-node subprocess, while bitcoin-qt can make an interfaces::Node
pointer that starts node code in the same process.)
This commit is contained in:
Russell Yanofsky
2017-12-05 15:57:12 -05:00
parent fdd80b0a53
commit e4709c7b56
17 changed files with 63 additions and 22 deletions

View File

@@ -5,12 +5,14 @@
#include <util/system.h>
#include <walletinitinterface.h>
class ArgsManager;
class CWallet;
namespace interfaces {
class Chain;
class Handler;
class Wallet;
class WalletClient;
}
class DummyWalletInit : public WalletInitInterface {
@@ -63,4 +65,9 @@ std::unique_ptr<Wallet> MakeWallet(const std::shared_ptr<CWallet>& wallet)
throw std::logic_error("Wallet function called in non-wallet build.");
}
std::unique_ptr<WalletClient> MakeWalletClient(Chain& chain, ArgsManager& args)
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
} // namespace interfaces