* @brief Restores the user's workspace/consumers/project and deletes the benchmark's temp files. */
| 471 | * @brief Restores the user's workspace/consumers/project and deletes the benchmark's temp files. |
| 472 | */ |
| 473 | void BenchmarkRunner::endSession() |
| 474 | { |
| 475 | Misc::WorkspaceManager::instance().clearTemporaryPath(); |
| 476 | m_tempWorkspace.reset(); |
| 477 | |
| 478 | UI::Dashboard::instance().setPlotTimeRange(m_savedPlotTimeRange); |
| 479 | |
| 480 | CSV::Export::instance().setExportEnabled(m_savedCsvExport); |
| 481 | API::Server::instance().setEnabled(m_savedApiServer); |
| 482 | #ifdef BUILD_COMMERCIAL |
| 483 | MDF4::Export::instance().setExportEnabled(m_savedMdfExport); |
| 484 | Sessions::Export::instance().setExportEnabled(m_savedSessionExport); |
| 485 | #endif |
| 486 | #ifdef ENABLE_GRPC |
| 487 | API::GRPC::GRPCServer::instance().setEnabled(m_savedGrpcServer); |
| 488 | #endif |
| 489 | |
| 490 | DataModel::ProjectModel::instance().setSuppressMessageBoxes(false); |
| 491 | DataModel::FrameParser::instance().setSuppressMessageBoxes(false); |
| 492 | |
| 493 | if (!m_savedProjectPath.isEmpty()) { |
| 494 | AppState::instance().setOperationMode(SerialStudio::ProjectFile); |
| 495 | (void)DataModel::ProjectModel::instance().openJsonFile(m_savedProjectPath); |
| 496 | } else { |
| 497 | AppState::instance().setOperationMode(static_cast<SerialStudio::OperationMode>(m_savedMode)); |
| 498 | DataModel::FrameBuilder::instance().syncFromProjectModel(); |
| 499 | UI::Dashboard::instance().resetData(); |
| 500 | } |
| 501 | } |
| 502 | |
| 503 | //-------------------------------------------------------------------------------------------------- |
| 504 | // Phase execution |
nothing calls this directly
no test coverage detected