Line data Source code
1 : // Copyright (c) 2017-2019 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 : struct NodeContext; 11 : 12 640 : class WalletInitInterface { 13 : public: 14 : /** Is the wallet component enabled */ 15 : virtual bool HasWalletSupport() const = 0; 16 : /** Get wallet help string */ 17 : virtual void AddWalletOptions(ArgsManager& argsman) const = 0; 18 : /** Check wallet parameter interaction */ 19 : virtual bool ParameterInteraction() const = 0; 20 : /** Add wallets that should be opened to list of chain clients. */ 21 : virtual void Construct(NodeContext& node) const = 0; 22 : 23 640 : virtual ~WalletInitInterface() {} 24 : }; 25 : 26 : extern const WalletInitInterface& g_wallet_init_interface; 27 : 28 : #endif // BITCOIN_WALLETINITINTERFACE_H