git / moonbite-core / src/wallet/context.h · raw

// Copyright (c) 2020 The Bitcoin Core developers// Distributed under the MIT software license, see the accompanying// file COPYING or http://www.opensource.org/licenses/mit-license.php.#ifndef BITCOIN_WALLET_CONTEXT_H#define BITCOIN_WALLET_CONTEXT_Hclass ArgsManager;namespace interfaces {class Chain;} // namespace interfaces//! WalletContext struct containing references to state shared between CWallet//! instances, like the reference to the chain interface, and the list of opened//! wallets.//!//! Future shared state can be added here as an alternative to adding global//! variables.//!//! The struct isn't intended to have any member functions. It should just be a//! collection of state pointers that doesn't pull in dependencies or implement//! behavior.struct WalletContext {    interfaces::Chain* chain{nullptr};    ArgsManager* args{nullptr};    //! Declare default constructor and destructor that are not inline, so code    //! instantiating the WalletContext struct doesn't need to #include class    //! definitions for smart pointer and container members.    WalletContext();    ~WalletContext();};#endif // BITCOIN_WALLET_CONTEXT_H