##// 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 void VariableController::onAbortProgressRequested(std::shared_ptr<Variable> variable)
368 void VariableController::onAbortProgressRequested(std::shared_ptr<Variable> variable)
369 {
369 {
370 // auto it = impl->m_VariableToIdentifierMap.find(variable);
370
371 // if (it != impl->m_VariableToIdentifierMap.cend()) {
371 auto itVar = impl->m_VariableToIdentifierMap.find(variable);
372 // impl->m_VariableAcquisitionWorker->abortProgressRequested(it->second);
372 if (itVar == impl->m_VariableToIdentifierMap.cend()) {
373
373 qCCritical(LOG_VariableController())
374 // QUuid varRequestId;
374 << tr("Impossible to onAbortProgressRequested request for unknown variable");
375 // auto varIdToVarRequestIdQueueMapIt =
375 return;
376 // impl->m_VarIdToVarRequestIdQueueMap.find(it->second);
376 }
377 // if (varIdToVarRequestIdQueueMapIt != impl->m_VarIdToVarRequestIdQueueMap.cend()) {
377
378 // auto &varRequestIdQueue = varIdToVarRequestIdQueueMapIt->second;
378 auto varId = itVar->second;
379 // varRequestId = varRequestIdQueue.front();
379
380 // impl->cancelVariableRequest(varRequestId);
380 auto itVarHandler = impl->m_VarIdToVarRequestHandler.find(varId);
381
381 if (itVarHandler == impl->m_VarIdToVarRequestHandler.cend()) {
382 // // Finish the progression for the request
382 qCCritical(LOG_VariableController())
383 // impl->m_VariableModel->setDataProgress(variable, 0.0);
383 << tr("Impossible to onAbortProgressRequested for variable with unknown handler");
384 // }
384 return;
385 // else {
385 }
386 // qCWarning(LOG_VariableController())
386
387 // << tr("Aborting progression of inexistant variable request detected !!!")
387 auto varHandler = itVarHandler->second.get();
388 // << QThread::currentThread()->objectName();
388
389 // }
389 // case where a variable has a running request
390 // }
390 if (varHandler->m_State != VariableRequestHandlerState::OFF) {
391 // else {
391 impl->cancelVariableRequest(varHandler->m_RunningVarRequest.m_VariableGroupId);
392 // qCWarning(LOG_VariableController())
392 }
393 // << tr("Aborting progression of inexistant variable detected !!!")
394 // << QThread::currentThread()->objectName();
395 // }
396 }
393 }
397
394
398 void VariableController::onAbortAcquisitionRequested(QUuid vIdentifier)
395 void VariableController::onAbortAcquisitionRequested(QUuid vIdentifier)
@@ -862,7 +859,8 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
862 {
859 {
863 auto varGroupIdToVarIdsIt = m_VarGroupIdToVarIds.find(varRequestId);
860 auto varGroupIdToVarIdsIt = m_VarGroupIdToVarIds.find(varRequestId);
864 if (varGroupIdToVarIdsIt == m_VarGroupIdToVarIds.end()) {
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 return;
864 return;
867 }
865 }
868
866
@@ -870,7 +868,7 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
870 auto varIdsEnd = varIds.end();
868 auto varIdsEnd = varIds.end();
871 for (auto varIdsIt = varIds.begin(); (varIdsIt != varIdsEnd); ++varIdsIt) {
869 for (auto varIdsIt = varIds.begin(); (varIdsIt != varIdsEnd); ++varIdsIt) {
872 auto itVarHandler = m_VarIdToVarRequestHandler.find(*varIdsIt);
870 auto itVarHandler = m_VarIdToVarRequestHandler.find(*varIdsIt);
873 if (itVarHandler == m_VarIdToVarRequestHandler.cend()) {
871 if (itVarHandler != m_VarIdToVarRequestHandler.cend()) {
874
872
875 auto varHandler = itVarHandler->second.get();
873 auto varHandler = itVarHandler->second.get();
876 varHandler->m_CanUpdate = false;
874 varHandler->m_CanUpdate = false;
@@ -890,6 +888,8 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
890 m_VariableAcquisitionWorker->abortProgressRequested(
888 m_VariableAcquisitionWorker->abortProgressRequested(
891 itVarHandler->first);
889 itVarHandler->first);
892 }
890 }
891 m_VariableModel->setDataProgress(var, 0.0);
892 varHandler->m_State = VariableRequestHandlerState::OFF;
893 varHandler->m_RunningVarRequest = VariableRequest{};
893 varHandler->m_RunningVarRequest = VariableRequest{};
894 }
894 }
895 else {
895 else {
@@ -906,10 +906,13 void VariableController::VariableControllerPrivate::cancelVariableRequest(QUuid
906 m_VariableAcquisitionWorker->abortProgressRequested(
906 m_VariableAcquisitionWorker->abortProgressRequested(
907 itVarHandler->first);
907 itVarHandler->first);
908 }
908 }
909 m_VariableModel->setDataProgress(var, 0.0);
910 varHandler->m_State = VariableRequestHandlerState::RUNNING;
909 varHandler->m_RunningVarRequest = varHandler->m_PendingVarRequest;
911 varHandler->m_RunningVarRequest = varHandler->m_PendingVarRequest;
910 executeVarRequest(var, varHandler->m_RunningVarRequest);
912 executeVarRequest(var, varHandler->m_RunningVarRequest);
911 }
913 }
912 else if (varHandler->m_PendingVarRequest.m_VariableGroupId == varRequestId) {
914 else if (varHandler->m_PendingVarRequest.m_VariableGroupId == varRequestId) {
915 varHandler->m_State = VariableRequestHandlerState::RUNNING;
913 varHandler->m_PendingVarRequest = VariableRequest{};
916 varHandler->m_PendingVarRequest = VariableRequest{};
914 }
917 }
915 else {
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 void VariableController::VariableControllerPrivate::executeVarRequest(std::shared_ptr<Variable> var,
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