Changeset View
Changeset View
Standalone View
Standalone View
src/wallet/context.h
- This file was added.
// 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_H | |||||
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}; | |||||
//! 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 |