X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FEngine.h;h=5405539fe2bc73c6d889320838e5c5d4e8e71c60;hb=578aed337971d2374a327c37862ce596c7dd3c00;hp=66b1341130290c5e324e8504bf23170bcc86256a;hpb=b5342c4a4bbfb17346e7bffc5dae129290d184be;p=trackerpp.git diff --git a/src/Engine.h b/src/Engine.h index 66b1341..5405539 100644 --- a/src/Engine.h +++ b/src/Engine.h @@ -6,27 +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(const std::string& url); + void setVideoSrc(VideoSrcType type, const std::string& url); private: Engine(); - virtual ~Engine(); - Tracker* tracker; - Detector* detector; + void run(); + DetectorPtr detector; + MultiTrackerPtr multiTracker; std::set observer_list; - std::string videoSrc; + //std::string videoSrc; + VideoReaderPtr reader; }; struct Person