Slit coincontrol.h to .h and .cpp files
[novacoin.git] / src / coincontrol.h
index a64a0ec..83f7a54 100644 (file)
@@ -3,53 +3,23 @@
 
 #include "base58.h"
 
+class COutPoint;
+
 /** Coin Control Features. */
 class CCoinControl
 {
 public:
     CBitcoinAddress destChange;
 
-    CCoinControl()
-    {
-        SetNull();
-    }
+    CCoinControl();
         
-    void SetNull()
-    {
-        destChange = CBitcoinAddress();
-        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());
-    }
+    void SetNull();
+    bool HasSelected() const;
+    bool IsSelected(const uint256& hash, unsigned int n) const;
+    void Select(COutPoint& output);
+    void UnSelect(COutPoint& output);
+    void UnSelectAll();
+    void ListSelected(std::vector<COutPoint>& vOutpoints);
         
 private:
     std::set<COutPoint> setSelected;