// // Created by basic on 18-8-23. // #ifndef VIDEOANALYSFROMHC_DBMANAGECLASS_H #define VIDEOANALYSFROMHC_DBMANAGECLASS_H #define WAITTASKTIME 10 #define WAITTASKPOOLTIME 10 #include #include "HcDowloadElement.h" #include "HcAnalysVideo.h" #include "BaiscSDKAnalysVideo.h" #include #include #include class DBManageClass { public: DBManageClass(LDBTool *_dbTool); virtual ~DBManageClass(); void start(int fileManagePSize = 1, int cutManagePSize = 1, int sdkHdlManagePSize = 1); void addDevice(const std::string strDevID, const char *ip, const unsigned short port, const char *usrname, const char *passwd); void testSdk(); void stop(); void downFileFuncFinish(std::shared_ptr &spPacket); void cutVideoFuncFinish(std::shared_ptr &spPacket); void sdkhlVideoFuncFinish(std::shared_ptr &spPacket, int listSize); private: void init(int fileManagePSize = 1, int cutManagePSize = 1, int sdkHdlManagePSize = 1); static void downloadFile(DBManageClass *dbManageClass); static void cutVideoFile(DBManageClass *dbManageClass); static void sdkHlVideo(DBManageClass *dbManageClass); private: std::atomic_bool m_downloadFileRet; int m_fileManagePSize = 0; loadFileManage m_fileManage; std::atomic_bool m_cutVideoRet; int m_cutManagePSize = 0; cutManage m_cutManage; std::atomic_bool m_sdkHdlRet; int m_sdkHdlManagePSize = 0; sdkHdlManage m_sdkHdlManage; HcDowloadElement m_HcDowloadElement; HcAnalysVideo m_HcAnalysVideo; //#todo sdk BaiscSDKAnalysVideo m_BasicSDKAnalysVideo; }; #endif //VIDEOANALYSFROMHC_DBMANAGECLASS_H