Add shared ptr
[trackerpp.git] / src / MultiTracker.h
index 5fc13f9..28ab685 100644 (file)
@@ -3,25 +3,27 @@
 
 #include "Tracker.h"
 #include "Metrics.h"
+#include "SharedPtr.h"
 
 namespace suanzi {
 
-class MultiTracker 
-{
-public:
-    MultiTracker(Metrics* m);
-    virtual ~MultiTracker();
-    void addTracker(Tracker *t);
-    void removeTracker(Tracker *t);
-    Tracker* createTracker(int id = 0);
-    void update();
-    
+    TK_DECLARE_PTR(MultiTracker);
 
-private:
-    Metrics* metrics;
-    std::set<Tracker*> trackers;
-    int max_id = 0;
-};
+    class MultiTracker 
+    {
+    public:
+        MultiTracker(MetricsPtr m);
+        virtual ~MultiTracker();
+        void addTracker(TrackerPtr t);
+        void removeTracker(TrackerPtr t);
+        TrackerPtr createTracker(int id = 0);
+        void update();
+        
+    private:
+        MetricsPtr metrics;
+        std::set<TrackerPtr> trackers;
+        int max_id = 0;
+    };
 
 
 }