aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.h
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2017-12-05 15:57:12 -0500
committerRussell Yanofsky <russ@yanofsky.org>2021-08-17 03:05:15 -0500
commite4709c7b56612553fb7cbf16ef2d5099c5b732d0 (patch)
tree3184f2fcce535f256d986e94b8d5b359223db150 /src/qt/bitcoin.h
parentfdd80b0a53b4af0b29cb6e03118e2456d053a757 (diff)
downloadbitcoin-e4709c7b56612553fb7cbf16ef2d5099c5b732d0.tar.xz
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.)
Diffstat (limited to 'src/qt/bitcoin.h')
-rw-r--r--src/qt/bitcoin.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qt/bitcoin.h b/src/qt/bitcoin.h
index ed2f26b7f3..602b76052c 100644
--- a/src/qt/bitcoin.h
+++ b/src/qt/bitcoin.h
@@ -27,6 +27,9 @@ class PlatformStyle;
class SplashScreen;
class WalletController;
class WalletModel;
+namespace interfaces {
+class Init;
+} // namespace interfaces
/** Main Bitcoin application object */
@@ -51,6 +54,8 @@ public:
void createWindow(const NetworkStyle *networkStyle);
/// Create splash screen
void createSplashScreen(const NetworkStyle *networkStyle);
+ /// Create or spawn node
+ void createNode(interfaces::Init& init);
/// Basic initialization, before starting initialization/shutdown thread. Return true on success.
bool baseInitialize();
@@ -69,7 +74,6 @@ public:
void setupPlatformStyle();
interfaces::Node& node() const { assert(m_node); return *m_node; }
- void setNode(interfaces::Node& node);
public Q_SLOTS:
void initializeResult(bool success, interfaces::BlockAndHeaderTipInfo tip_info);
@@ -103,7 +107,7 @@ private:
const PlatformStyle *platformStyle;
std::unique_ptr<QWidget> shutdownWindow;
SplashScreen* m_splash = nullptr;
- interfaces::Node* m_node = nullptr;
+ std::unique_ptr<interfaces::Node> m_node;
void startThread();
};