Give WalletModel::UnlockContext move semantics
This commit is contained in:
parent
79046d5749
commit
0b09a57aec
2 changed files with 8 additions and 5 deletions
|
@ -482,7 +482,7 @@ WalletModel::UnlockContext::~UnlockContext()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WalletModel::UnlockContext::CopyFrom(const UnlockContext& rhs)
|
void WalletModel::UnlockContext::CopyFrom(UnlockContext&& rhs)
|
||||||
{
|
{
|
||||||
// Transfer context; old object no longer relocks wallet
|
// Transfer context; old object no longer relocks wallet
|
||||||
*this = rhs;
|
*this = rhs;
|
||||||
|
|
|
@ -194,15 +194,18 @@ public:
|
||||||
|
|
||||||
bool isValid() const { return valid; }
|
bool isValid() const { return valid; }
|
||||||
|
|
||||||
// Copy operator and constructor transfer the context
|
// Copy constructor is disabled.
|
||||||
UnlockContext(const UnlockContext& obj) { CopyFrom(obj); }
|
UnlockContext(const UnlockContext&) = delete;
|
||||||
UnlockContext& operator=(const UnlockContext& rhs) { CopyFrom(rhs); return *this; }
|
// Move operator and constructor transfer the context
|
||||||
|
UnlockContext(UnlockContext&& obj) { CopyFrom(std::move(obj)); }
|
||||||
|
UnlockContext& operator=(UnlockContext&& rhs) { CopyFrom(std::move(rhs)); return *this; }
|
||||||
private:
|
private:
|
||||||
WalletModel *wallet;
|
WalletModel *wallet;
|
||||||
bool valid;
|
bool valid;
|
||||||
mutable bool relock; // mutable, as it can be set to false by copying
|
mutable bool relock; // mutable, as it can be set to false by copying
|
||||||
|
|
||||||
void CopyFrom(const UnlockContext& rhs);
|
UnlockContext& operator=(const UnlockContext&) = default;
|
||||||
|
void CopyFrom(UnlockContext&& rhs);
|
||||||
};
|
};
|
||||||
|
|
||||||
UnlockContext requestUnlock();
|
UnlockContext requestUnlock();
|
||||||
|
|
Loading…
Reference in a new issue