0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00

Merge bitcoin-core/gui#711: refactor: Disable unused special members functions in UnlockContext

9fa43b5af6 refactor: Disable unused special members functions in `UnlockContext` (Hennadii Stepanov)

Pull request description:

  Also `UnlockContext::valid` and `UnlockContext::relock` are `const` now.

ACKs for top commit:
  achow101:
    ACK 9fa43b5af6
  john-moffett:
    ACK 9fa43b5af6
  furszy:
    ACK 9fa43b5a

Tree-SHA512: 6d9fa8208676b9bd5d85b73cb2d3136e7f28ef59e68ee34915ec598458868e302a80b9ef1384c0bf7a4c42f936830c3add9662ca0bae73860a55a25cc374b699
This commit is contained in:
Andrew Chow 2023-02-15 18:29:55 -05:00
commit 54742532ce
No known key found for this signature in database
GPG key ID: 17565732E08E5E41
2 changed files with 8 additions and 17 deletions

View file

@ -477,13 +477,6 @@ WalletModel::UnlockContext::~UnlockContext()
}
}
void WalletModel::UnlockContext::CopyFrom(UnlockContext&& rhs)
{
// Transfer context; old object no longer relocks wallet
*this = rhs;
rhs.relock = false;
}
bool WalletModel::bumpFee(uint256 hash, uint256& new_hash)
{
CCoinControl coin_control;

View file

@ -111,7 +111,7 @@ public:
bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString());
bool changePassphrase(const SecureString &oldPass, const SecureString &newPass);
// RAI object for unlocking wallet, returned by requestUnlock()
// RAII object for unlocking wallet, returned by requestUnlock()
class UnlockContext
{
public:
@ -120,18 +120,16 @@ public:
bool isValid() const { return valid; }
// Copy constructor is disabled.
// Disable unused copy/move constructors/assignments explicitly.
UnlockContext(const UnlockContext&) = delete;
// Move operator and constructor transfer the context
UnlockContext(UnlockContext&& obj) { CopyFrom(std::move(obj)); }
UnlockContext& operator=(UnlockContext&& rhs) { CopyFrom(std::move(rhs)); return *this; }
UnlockContext(UnlockContext&&) = delete;
UnlockContext& operator=(const UnlockContext&) = delete;
UnlockContext& operator=(UnlockContext&&) = delete;
private:
WalletModel *wallet;
bool valid;
mutable bool relock; // mutable, as it can be set to false by copying
UnlockContext& operator=(const UnlockContext&) = default;
void CopyFrom(UnlockContext&& rhs);
const bool valid;
const bool relock;
};
UnlockContext requestUnlock();