Branch data Line data Source code
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 : 202 : virtual ~WalletInitInterface() = default;
26 : : };
27 : :
28 : : extern const WalletInitInterface& g_wallet_init_interface;
29 : :
30 : : #endif // BITCOIN_WALLETINITINTERFACE_H
|