mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
Merge bitcoin/bitcoin#22219: multiprocess: Start using init makeNode, makeChain, etc methods
e4709c7b56Start using init makeNode, makeChain, etc methods (Russell Yanofsky) Pull request description: Use `interfaces::Init::make*` methods instead of `interfaces::Make*` functions, so interfaces can be constructed differently in different executable 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 controls node code in the same process.) --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10). The commit was first part of larger PR #10102. ACKs for top commit: jamesob: reACKe4709c7b56achow101: ACKe4709c7b56benthecarman: utACKe4709c7b56Tree-SHA512: 580c1979dbb2ef444157c8e53041e70d15ddeee77e5cbdb34f70b6d228cc2d2fe3843825f172da84e506200c58f7e0932f7cd4c006bb5058c1f4e43259394834
This commit is contained in:
@@ -72,7 +72,7 @@ class NodeImpl : public Node
|
||||
private:
|
||||
ChainstateManager& chainman() { return *Assert(m_context->chainman); }
|
||||
public:
|
||||
explicit NodeImpl(NodeContext* context) { setContext(context); }
|
||||
explicit NodeImpl(NodeContext& context) { setContext(&context); }
|
||||
void initLogging() override { InitLogging(*Assert(m_context->args)); }
|
||||
void initParameterInteraction() override { InitParameterInteraction(*Assert(m_context->args)); }
|
||||
bilingual_str getWarnings() override { return GetWarnings(true); }
|
||||
@@ -710,6 +710,6 @@ public:
|
||||
} // namespace node
|
||||
|
||||
namespace interfaces {
|
||||
std::unique_ptr<Node> MakeNode(NodeContext* context) { return std::make_unique<node::NodeImpl>(context); }
|
||||
std::unique_ptr<Node> MakeNode(NodeContext& context) { return std::make_unique<node::NodeImpl>(context); }
|
||||
std::unique_ptr<Chain> MakeChain(NodeContext& context) { return std::make_unique<node::ChainImpl>(context); }
|
||||
} // namespace interfaces
|
||||
|
||||
Reference in New Issue
Block a user