##// END OF EJS Templates
Implement cancel with the new kernel
perrinel -
r831:5c98f6d8205b
parent child
Show More
@@ -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 // if (it != impl->m_VariableToIdentifierMap.cend()) {
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 == m_VarIdToVarRequestHandler.cend()) {
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 3
Under Review
author

Auto status change to "Under Review"

Approved
author

Merge lasted acquisition developpement on main Sciqlop branch

You need to be logged in to leave comments. Login now