X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FEngine.h;fp=src%2FEngine.h;h=bcfc786da973465cede85e697311bb0fd35b423f;hb=804f325c3a26e6ff253c3eb490071434da9c3b3f;hp=ebf65c5798cee4d74a377bb270dcf40ee1589b1c;hpb=5675c1a74ffcb95725eb11463e51cfebbc88a15e;p=trackerpp.git diff --git a/src/Engine.h b/src/Engine.h index ebf65c5..bcfc786 100644 --- a/src/Engine.h +++ b/src/Engine.h @@ -6,30 +6,35 @@ #include #include "Tracker.h" #include "Detector.h" +#include "MultiTracker.h" #include "VideoReader.h" +#include "SharedPtr.h" namespace suanzi{ class EngineObserver; +TK_DECLARE_PTR(Engine); + class Engine { public: - static Engine* create(); + static EnginePtr create(); void destroy(); + virtual ~Engine(); + virtual void start(); void addObserver(EngineObserver* o); void setVideoSrc(VideoSrcType type, const std::string& url); private: Engine(); - virtual ~Engine(); void run(); -// Tracker* tracker; - Detector* detector; + DetectorPtr detector; + MultiTrackerPtr multiTracker; std::set observer_list; std::string videoSrc; - VideoReader* reader; + VideoReaderPtr reader; }; struct Person