#include #include #include #include #include #include backEndManager::backEndManager() { _jsonConfiguration = new jsonConfiguration(); _detDataManager = new detDataManager(); _triggerManager = new triggerManager(); _cameraManager = new cameraManager(); _threadManager = new threadManager(); _handleAiModelManager = new handleAiModelManager(); } void backEndManager::run() { if(isInit == ReInit) { if (_cameraManager != nullptr) delete _cameraManager; if (_triggerManager != nullptr) delete _triggerManager; _triggerManager = new triggerManager(); _cameraManager = new cameraManager(); isInit = NotInit; } if(isInit == NotInit) { std::vector> futures;//Òì²½³õʼ»¯ futures.push_back(std::async(std::launch::async, &triggerManager::init, _triggerManager, this)); futures.push_back(std::async(std::launch::async, &cameraManager::init, _cameraManager, this)); futures.push_back(std::async(std::launch::async, &handleAiModelManager::init, _handleAiModelManager,this)); for (auto& future : futures) { future.wait(); } if (_triggerManager->isInit == true && _cameraManager->isInit == true) isInit = InitOK; else isInit = InitFailure; sendInitFinished(isInit); } } backEndManager::~backEndManager() { _triggerManager->stop(); _cameraManager->stop(); _threadManager->stop(); delete _cameraManager; delete _threadManager; delete _triggerManager; delete _jsonConfiguration; delete _detDataManager; }