@@ -367,32 +367,29 void VariableController::onVariableRetrieveDataInProgress(QUuid identifier, doub | |||
|
367 | 367 | |
|
368 | 368 | void VariableController::onAbortProgressRequested(std::shared_ptr<Variable> variable) |
|
369 | 369 | { |
|
370 | // auto it = impl->m_VariableToIdentifierMap.find(variable); | |
|
371 |
|
|
|
372 | // impl->m_VariableAcquisitionWorker->abortProgressRequested(it->second); | |
|
373 | ||
|
374 | // QUuid varRequestId; | |
|
375 | // auto varIdToVarRequestIdQueueMapIt = | |
|
376 | // impl->m_VarIdToVarRequestIdQueueMap.find(it->second); | |
|
377 | // if (varIdToVarRequestIdQueueMapIt != impl->m_VarIdToVarRequestIdQueueMap.cend()) { | |
|
378 | // auto &varRequestIdQueue = varIdToVarRequestIdQueueMapIt->second; | |
|
379 | // varRequestId = varRequestIdQueue.front(); | |
|
380 | // impl->cancelVariableRequest(varRequestId); | |
|
381 | ||
|
382 | // // Finish the progression for the request | |
|
383 | // impl->m_VariableModel->setDataProgress(variable, 0.0); | |
|
384 | // } | |
|
385 | // else { | |
|
386 | // qCWarning(LOG_VariableController()) | |
|
387 | // << tr("Aborting progression of inexistant variable request detected !!!") | |
|
388 | // << QThread::currentThread()->objectName(); | |
|
389 | // } | |
|
390 | // } | |
|
391 | // else { | |
|
392 | // qCWarning(LOG_VariableController()) | |
|
393 | // << tr("Aborting progression of inexistant variable detected !!!") | |
|
394 | // << QThread::currentThread()->objectName(); | |
|
395 | // } | |
|
370 | ||
|
371 | auto itVar = impl->m_VariableToIdentifierMap.find(variable); | |
|
372 | if (itVar == impl->m_VariableToIdentifierMap.cend()) { | |
|
373 | qCCritical(LOG_VariableController()) | |
|
374 | << tr("Impossible to onAbortProgressRequested request for unknown variable"); | |
|
375 | return; | |
|
376 | } | |
|
377 | ||
|
378 | auto varId = itVar->second; | |
|
379 | ||
|
380 | auto itVarHandler = impl->m_VarIdToVarRequestHandler.find(varId); | |
|
381 | if (itVarHandler == impl->m_VarIdToVarRequestHandler.cend()) { | |
|
382 | qCCritical(LOG_VariableController()) | |
|
383 | << tr("Impossible to onAbortProgressRequested for variable with unknown handler"); | |
|
384 | return; | |
|
385 | } | |
|
386 | ||
|
387 | auto varHandler = itVarHandler->second.get(); | |
|
388 | ||
|
389 | // case where a variable has a running request | |
|
390 | if (varHandler->m_State != VariableRequestHandlerState::OFF) { | |
|
391 | impl->cancelVariableRequest(varHandler->m_RunningVarRequest.m_VariableGroupId); | |
|
392 | } | |
|
396 | 393 | } |
|
397 | 394 | |
|
398 | 395 | void VariableController::onAbortAcquisitionRequested(QUuid vIdentifier) |
@@ -862,7 +859,8 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid | |||
|
862 | 859 | { |
|
863 | 860 | auto varGroupIdToVarIdsIt = m_VarGroupIdToVarIds.find(varRequestId); |
|
864 | 861 | if (varGroupIdToVarIdsIt == m_VarGroupIdToVarIds.end()) { |
|
865 | // TODO LOG cannot cancel variable request since varGroupdId isn't here anymore | |
|
862 | qCCritical(LOG_VariableController()) | |
|
863 | << tr("Impossible to cancelVariableRequest for unknown varGroupdId") << varRequestId; | |
|
866 | 864 | return; |
|
867 | 865 | } |
|
868 | 866 | |
@@ -870,7 +868,7 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid | |||
|
870 | 868 | auto varIdsEnd = varIds.end(); |
|
871 | 869 | for (auto varIdsIt = varIds.begin(); (varIdsIt != varIdsEnd); ++varIdsIt) { |
|
872 | 870 | auto itVarHandler = m_VarIdToVarRequestHandler.find(*varIdsIt); |
|
873 |
if (itVarHandler |
|
|
871 | if (itVarHandler != m_VarIdToVarRequestHandler.cend()) { | |
|
874 | 872 | |
|
875 | 873 | auto varHandler = itVarHandler->second.get(); |
|
876 | 874 | varHandler->m_CanUpdate = false; |
@@ -890,6 +888,8 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid | |||
|
890 | 888 | m_VariableAcquisitionWorker->abortProgressRequested( |
|
891 | 889 | itVarHandler->first); |
|
892 | 890 | } |
|
891 | m_VariableModel->setDataProgress(var, 0.0); | |
|
892 | varHandler->m_State = VariableRequestHandlerState::OFF; | |
|
893 | 893 | varHandler->m_RunningVarRequest = VariableRequest{}; |
|
894 | 894 | } |
|
895 | 895 | else { |
@@ -906,10 +906,13 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid | |||
|
906 | 906 | m_VariableAcquisitionWorker->abortProgressRequested( |
|
907 | 907 | itVarHandler->first); |
|
908 | 908 | } |
|
909 | m_VariableModel->setDataProgress(var, 0.0); | |
|
910 | varHandler->m_State = VariableRequestHandlerState::RUNNING; | |
|
909 | 911 | varHandler->m_RunningVarRequest = varHandler->m_PendingVarRequest; |
|
910 | 912 | executeVarRequest(var, varHandler->m_RunningVarRequest); |
|
911 | 913 | } |
|
912 | 914 | else if (varHandler->m_PendingVarRequest.m_VariableGroupId == varRequestId) { |
|
915 | varHandler->m_State = VariableRequestHandlerState::RUNNING; | |
|
913 | 916 | varHandler->m_PendingVarRequest = VariableRequest{}; |
|
914 | 917 | } |
|
915 | 918 | else { |
@@ -924,6 +927,7 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid | |||
|
924 | 927 | } |
|
925 | 928 | } |
|
926 | 929 | } |
|
930 | m_VarGroupIdToVarIds.erase(varRequestId); | |
|
927 | 931 | } |
|
928 | 932 | |
|
929 | 933 | void VariableController::VariableControllerPrivate::executeVarRequest(std::shared_ptr<Variable> var, |
General Comments 0
You need to be logged in to leave comments.
Login now