57 lines
1.4 KiB
C++
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;
|
|
|
|
} |