X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=src%2FEngine.h;h=5405539fe2bc73c6d889320838e5c5d4e8e71c60;hb=578aed337971d2374a327c37862ce596c7dd3c00;hp=a0da9030e9cfa646a510234e1b74a7040ab76c36;hpb=b3feccd1ee1186c37b39844dc566d39aedaa54ed;p=trackerpp.git diff --git a/src/Engine.h b/src/Engine.h index a0da903..5405539 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; + //std::string videoSrc; + VideoReaderPtr reader; }; struct Person