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);