Files
handleaiuinew/HanddleAI/HandleAiUi-new/back/backEndManager.cpp
T

60 lines
1.5 KiB
C++
Raw Normal View History

2024-05-21 23:54:22 +08:00
#include <backEndManager.h>
#include <triggerManager.h>
#include <cameraManager.h>
#include <jsonParsing.h>
#include <handleAi/handleAiModel.h>
2024-05-21 23:54:22 +08:00
#include <future>
backEndManager::backEndManager()
{
_jsonConfiguration = new jsonConfiguration();
2024-05-22 16:47:14 +08:00
_detDataManager = new detDataManager();
2024-05-21 23:54:22 +08:00
_triggerManager = new triggerManager();
_cameraManager = new cameraManager();
2024-05-22 01:32:43 +08:00
_threadManager = new threadManager();
_handleAiModelManager = new handleAiModelManager();
2024-05-22 16:47:14 +08:00
}
void backEndManager::run()
{
2024-05-23 15:06:03 +08:00
if(isInit == ReInit)
2024-05-22 16:47:14 +08:00
{
2024-05-23 15:06:03 +08:00
if (_cameraManager != nullptr)
delete _cameraManager;
if (_triggerManager != nullptr)
delete _triggerManager;
_triggerManager = new triggerManager();
_cameraManager = new cameraManager();
isInit = NotInit;
}
if(isInit == NotInit)
{
2024-05-22 16:47:14 +08:00
std::vector<std::future<void>> 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));
2024-05-22 16:47:14 +08:00
for (auto& future : futures) {
future.wait();
}
2024-05-23 15:06:03 +08:00
if (_triggerManager->isInit == true && _cameraManager->isInit == true)
isInit = InitOK;
else
isInit = InitFailure;
sendInitFinished(isInit);
2024-05-21 23:54:22 +08:00
}
}
2024-05-23 15:06:03 +08:00
2024-05-21 23:54:22 +08:00
backEndManager::~backEndManager()
{
2024-05-22 16:47:14 +08:00
_triggerManager->stop();
_cameraManager->stop();
_threadManager->stop();
2024-05-21 23:54:22 +08:00
delete _cameraManager;
2024-05-22 16:47:14 +08:00
delete _threadManager;
delete _triggerManager;
2024-05-21 23:54:22 +08:00
delete _jsonConfiguration;
2024-05-22 16:47:14 +08:00
delete _detDataManager;
2024-05-21 23:54:22 +08:00
}