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

57 lines
1.4 KiB
C++

#include <backEndManager.h>
#include <triggerManager.h>
#include <cameraManager.h>
#include <jsonParsing.h>
#include <future>
backEndManager::backEndManager()
{
_jsonConfiguration = new jsonConfiguration();
_detDataManager = new detDataManager();
_triggerManager = new triggerManager();
_cameraManager = new cameraManager();
_threadManager = new threadManager();
}
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<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));
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;
}