Branch data Line data Source code
# 1 : : // Copyright (c) 2017-2020 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() {} # 26 : : }; # 27 : : # 28 : : extern const WalletInitInterface& g_wallet_init_interface; # 29 : : # 30 : : #endif // BITCOIN_WALLETINITINTERFACE_H