/root/bitcoin/src/walletinitinterface.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2017-2021 The Bitcoin Core developers |
2 | | // Distributed under the MIT software license, see the accompanying |
3 | | // file COPYING or http://www.opensource.org/licenses/mit-license.php. |
4 | | |
5 | | #ifndef BITCOIN_WALLETINITINTERFACE_H |
6 | | #define BITCOIN_WALLETINITINTERFACE_H |
7 | | |
8 | | class ArgsManager; |
9 | | |
10 | | namespace node { |
11 | | struct NodeContext; |
12 | | } // namespace node |
13 | | |
14 | | class WalletInitInterface { |
15 | | public: |
16 | | /** Is the wallet component enabled */ |
17 | | virtual bool HasWalletSupport() const = 0; |
18 | | /** Get wallet help string */ |
19 | | virtual void AddWalletOptions(ArgsManager& argsman) const = 0; |
20 | | /** Check wallet parameter interaction */ |
21 | | virtual bool ParameterInteraction() const = 0; |
22 | | /** Add wallets that should be opened to list of chain clients. */ |
23 | | virtual void Construct(node::NodeContext& node) const = 0; |
24 | | |
25 | 0 | virtual ~WalletInitInterface() = default; |
26 | | }; |
27 | | |
28 | | extern const WalletInitInterface& g_wallet_init_interface; |
29 | | |
30 | | #endif // BITCOIN_WALLETINITINTERFACE_H |