Compare commits
2 Commits
769626581f
...
effe41bac9
Author | SHA1 | Date | |
---|---|---|---|
effe41bac9 | |||
4968942cc2 |
@ -762,6 +762,27 @@ QString IsmasClient::jsonParseFailed(int resultCode, QString reason, QString con
|
||||
version.toStdString().c_str());
|
||||
}
|
||||
|
||||
std::optional<QString> 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",
|
||||
|
@ -4,6 +4,8 @@
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
#include <optional>
|
||||
|
||||
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<QString> finalResult(int resultCode, QString reason, QString const &version = QString());
|
||||
|
||||
QString updateOfPSASendVersion(PSAInstalled const &psa);
|
||||
|
||||
|
34
worker.cpp
34
worker.cpp
@ -327,20 +327,38 @@ void Worker::privateUpdate() {
|
||||
}
|
||||
|
||||
m_ismasClient.setProgressInPercent(100);
|
||||
setProgress(100);
|
||||
|
||||
if (m_returnCode != 0) {
|
||||
stopProgressLoop();
|
||||
emit appendText(QString("UPDATE "), UPDATE_STEP_FAIL);
|
||||
|
||||
m_updateStatus = UpdateStatus(UPDATE_STATUS::UPDATE_PROCESS_FAILURE,
|
||||
QString("Update process failed"));
|
||||
if (std::optional<QString> s = m_ismasClient.finalResult(IsmasClient::RESULT_CODE::INSTALL_ERROR,
|
||||
"FINAL-UPDATE-RESULT",
|
||||
m_updateStatus.m_statusDescription)) {
|
||||
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||
QString("#M=APISM#C=CMD_EVENT#J=") + s.value());
|
||||
}
|
||||
} else {
|
||||
emit appendText(QString("UPDATE "), UPDATE_STEP_SUCCESS);
|
||||
|
||||
m_updateStatus = UpdateStatus(UPDATE_STATUS::UPDATE_PROCESS_SUCCESS,
|
||||
QString("Update process succeeded"));
|
||||
if (std::optional<QString> s = m_ismasClient.finalResult(IsmasClient::RESULT_CODE::SUCCESS,
|
||||
"FINAL-UPDATE-RESULT",
|
||||
m_updateStatus.m_statusDescription)) {
|
||||
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||
QString("#M=APISM#C=CMD_EVENT#J=") + s.value());
|
||||
}
|
||||
}
|
||||
|
||||
if (!sentIsmasLastVersionNotification) {
|
||||
// try even if the backend is not connected
|
||||
sendIsmasLastVersionNotification();
|
||||
}
|
||||
|
||||
if (m_returnCode != 0) {
|
||||
stopProgressLoop();
|
||||
emit appendText(QString("UPDATE "), UPDATE_STEP_FAIL);
|
||||
} else {
|
||||
emit appendText(QString("UPDATE "), UPDATE_STEP_SUCCESS);
|
||||
}
|
||||
|
||||
setProgress(100);
|
||||
m_updateProcessRunning = false;
|
||||
emit enableExit();
|
||||
emit restartExitTimer();
|
||||
|
Loading…
x
Reference in New Issue
Block a user