From 4968942cc2fea95f95a924fbaa6ac2139a9cfe7c Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Fri, 11 Aug 2023 12:19:10 +0200 Subject: [PATCH] Added finalResult() -> send final message to ISMAS in any case. --- ismas/ismas_client.cpp | 21 +++++++++++++++++++++ ismas/ismas_client.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/ismas/ismas_client.cpp b/ismas/ismas_client.cpp index d563e75..d405da7 100644 --- a/ismas/ismas_client.cpp +++ b/ismas/ismas_client.cpp @@ -762,6 +762,27 @@ QString IsmasClient::jsonParseFailed(int resultCode, QString reason, QString con version.toStdString().c_str()); } +std::optional IsmasClient::finalResult(int resultCode, QString reason, QString const &version) { + m_progressInPercent = 0; + if (resultCode == RESULT_CODE::SUCCESS) { + return updateNewsToIsmas("U0002", + m_progressInPercent, + RESULT_CODE::SUCCESS, + "FINAL-UPDATE-RESULT", + "(re-)set WAIT state", + version.toStdString().c_str()); + } + if (resultCode == RESULT_CODE::INSTALL_ERROR) { + return updateNewsToIsmas("U0003", + m_progressInPercent, + resultCode, + "FINAL-UPDATE-RESULT", + reason.toStdString().c_str(), + version.toStdString().c_str()); + } + return std::nullopt; +} + QString IsmasClient::updateOfPSAFailed(int resultCode, QString step, QString reason, QString const &version) { return updateNewsToIsmas("U0003", diff --git a/ismas/ismas_client.h b/ismas/ismas_client.h index be5407a..97374b8 100644 --- a/ismas/ismas_client.h +++ b/ismas/ismas_client.h @@ -4,6 +4,8 @@ #include #include +#include + struct PSAInstalled { struct Tariff { QString name; @@ -159,6 +161,7 @@ public: QString updateOfPSAFailed(int resultCode, QString step, QString reason, QString const &version = QString()); QString sanityCheckFailed(int resultCode, QString reason, QString const &version = QString()); QString jsonParseFailed(int resultCode, QString reason, QString const &version = QString()); + std::optional finalResult(int resultCode, QString reason, QString const &version = QString()); QString updateOfPSASendVersion(PSAInstalled const &psa);