diff options
author | Cozz Lovan <cozzlovan@yahoo.com> | 2013-08-12 17:03:03 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2013-11-14 14:25:10 +0100 |
commit | 6a86c24db146d9ca5d1d5c83099d935c3feb63bb (patch) | |
tree | 84ea08401061e81d178a4c2caf34233281227da4 /src/coincontrol.h | |
parent | 8dfd8c62dccac96afbda5ad0e66e68ee4820481f (diff) |
Coin Control Features
Diffstat (limited to 'src/coincontrol.h')
-rw-r--r-- | src/coincontrol.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/coincontrol.h b/src/coincontrol.h new file mode 100644 index 0000000000..0164bf1f84 --- /dev/null +++ b/src/coincontrol.h @@ -0,0 +1,59 @@ +#ifndef COINCONTROL_H +#define COINCONTROL_H + +#include "core.h" + +/** Coin Control Features. */ +class CCoinControl +{ +public: + CTxDestination destChange; + + CCoinControl() + { + SetNull(); + } + + void SetNull() + { + destChange = CNoDestination(); + setSelected.clear(); + } + + bool HasSelected() const + { + return (setSelected.size() > 0); + } + + bool IsSelected(const uint256& hash, unsigned int n) const + { + COutPoint outpt(hash, n); + return (setSelected.count(outpt) > 0); + } + + void Select(COutPoint& output) + { + setSelected.insert(output); + } + + void UnSelect(COutPoint& output) + { + setSelected.erase(output); + } + + void UnSelectAll() + { + setSelected.clear(); + } + + void ListSelected(std::vector<COutPoint>& vOutpoints) + { + vOutpoints.assign(setSelected.begin(), setSelected.end()); + } + +private: + std::set<COutPoint> setSelected; + +}; + +#endif // COINCONTROL_H |