14 Commits

Author SHA1 Message Date
979afa37d3 Minor: add comment 2024-01-17 15:38:05 +01:00
1e1820724d Set version to v1.4.0. Set compile-option -O (FORTIFY_SOURCE). 2024-01-17 15:32:26 +01:00
d90954c6eb Add location, version and info to send-last-version object. 2024-01-17 15:30:34 +01:00
cf77d0ff76 Initialize m_versionInfo and send its contents to ISMAS in the update-process. 2024-01-17 15:28:49 +01:00
73d02d214a Send contant of m_versionInfo(0) (git commit of repository) to ISMAS. 2024-01-17 15:26:53 +01:00
6a67d8e9b0 Minor: update percent numbers in some cases. 2024-01-17 15:26:14 +01:00
30d8cc3684 Add m_version_info as memeber. 2024-01-17 15:25:35 +01:00
bc9ebb7d68 Implemented helpers:
QString getLocation(QString fileName);
    QString getTariffVersion(QString fileName);
    QString getTariffInfo(QString fileName);

Read project location, tariff location and tariff-info
from tariff[].json file.
2024-01-17 15:18:03 +01:00
e6f6d43bf2 Adden helpers:
QString getLocation(QString fileName);
    QString getTariffVersion(QString fileName);
    QString getTariffInfo(QString fileName);
2024-01-17 15:17:16 +01:00
686e113c3a Fix: add break when checking dc alive status. set version to 1.3.24. 2023-12-19 14:30:58 +01:00
6ddfbbfd9e add a break to prevent possible endless loop 2023-12-19 14:25:59 +01:00
7bfbdc0f07 Update flowchart for UpdateTool. 2023-12-19 13:05:10 +01:00
dd591fdd23 Amde some preparations for sendLastVersion 2023-12-17 16:25:31 +01:00
18c7b656c3 Add some new points. 2023-12-17 15:23:00 +01:00
9 changed files with 374 additions and 30 deletions

View File

@@ -53,7 +53,7 @@ DEFINES += QT_DEPRECATED_WARNINGS
# local filesystem, json-files will be downloaded to firmware. # local filesystem, json-files will be downloaded to firmware.
# The device-controller firmware will be handled in a later version. # The device-controller firmware will be handled in a later version.
# 1.3.15: Bug fixes found during testing. # 1.3.15: Bug fixes found during testing.
# Don't disable Exit-button during update-process. # Do not disable Exit-button during update-process.
# Removed worker-thread with an own event-loop: only the GUI thread # Removed worker-thread with an own event-loop: only the GUI thread
# has an event loop. Tested JSON-downloads several times successfully # has an event loop. Tested JSON-downloads several times successfully
# (using the slave lib where the CA helper tool was active as master). # (using the slave lib where the CA helper tool was active as master).
@@ -81,7 +81,21 @@ DEFINES += QT_DEPRECATED_WARNINGS
# Fix the path-names of the json-files and the device-controller. # Fix the path-names of the json-files and the device-controller.
# Set automatic download of json-file in ATBUpdateTool.ini file for # Set automatic download of json-file in ATBUpdateTool.ini file for
# a fresh clone of the repository. # a fresh clone of the repository.
VERSION="1.3.23" # 1.3.23: Added a 'break' to prevent a possible endless loop when checking if
# the device is alive.
#
# NOTE: The versioning info has to be shifted up by one version, i.e. what
# happened for 1.3.23 was actually done in 1.3.24.
# 1.3.24
#
# 1.3._24_: Special version for szeged using a old dc-controller (4.42):
# Changes:
# (1) the ini-File now uses the libCAmaster.so.
# 1.3._25_: Again special version for szeged, using interface.h, version 4.4.
# 1.4.0 : Start with version at 1.4.0 (mainly to see a difference with Szeged)
# Set hash-value in EVENT-objects. Set location (project), version
# and info in send-last-version.
VERSION="1.4.0"
# PLANNED TODOS: # PLANNED TODOS:
# 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT. # 1: Das Repository wird repariert bwz. neu geklont. Unabhaengig vom WAIT.
@@ -116,6 +130,31 @@ VERSION="1.3.23"
# Tariff-Files syncen (d.h. nur wenn noch kein Repo vorhanden ist), und # Tariff-Files syncen (d.h. nur wenn noch kein Repo vorhanden ist), und
# zwar auch ohne WAIT-Button. # zwar auch ohne WAIT-Button.
# 11: Das Edit-Fenster teilen um die Anzeige zu verbessern. # 11: Das Edit-Fenster teilen um die Anzeige zu verbessern.
# 12: Bei einem Update muss immer ersichtlich sein, warum es ueberhaupt
# angestossen wurde. Steht kein "WAIT" im ISMAS-Trigger, dann kann man
# davon ausgehen, dass es sich um ein automatisches Update handelt.
# In jedem Fall wird bei einem automatischen Update, bei dem der WAIT-
# Button nicht gesetzt war, ein "OK" gesendet, falls sonst nichts weiter
# zu tun ist. Beachte aber: wir haben auch noch den Fall, dass eine SD-
# Karte gesteckt wird. In diesem Fall wird ein komplettes Update gefahren,
# und zwar explizit auch ohne WAIT-Button.
# Am Ende eines Updates steht im ISMAS entweder ein "OK" oder ein "FAIL".
# 13: SendLastVersion: fuer jedes erfolgreich installierte Paket eine
# Send-Last-Version-Nachricht an ISMAS. Dadurch entsteht im ISMAS eine
# History (Christian darueber informieren).
# 14: Installiert werden nur Dateien, die neu sind oder geaendert wurden.
# Nicht etwas Dateien, die geloescht wurden: sicherstellen, dass man hier
# immer direkt im repository arbeitet, nicht auf dem Filesystem.
# Ferner: der DeviceController heisst dc2c.bin, auch fuer die Jsons
# sind Dtandard-Namen vergeben. Alternativ: alle vorhandenen Jsons
# werden runtergeladen: Thomas ist eh fuer deren Inhalte verantworlich.
# WICHTIG: immer ueberpruefen, ob die Dateien im Customer-Repository
# wirklich die richtigen Dateien sind.
# 15: Der WAIT-Button laesst sich auf WAIT zuruecksetzen (etwa wenn git
# selber Probleme hatte).
# 16: Der Download-Thread sollte sowohl die auto-Variable auf false setzen
# als auch den cycle-Timer stoppen, damit sichergestellt ist, dass der
# Download des DC nicht gestoert wird.
win32 { win32 {
@@ -143,7 +182,7 @@ DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
# keep comments, as /* fall through */ # keep comments, as /* fall through */
QMAKE_CXXFLAGS += -C QMAKE_CXXFLAGS += -C
QMAKE_CXXFLAGS += -g QMAKE_CXXFLAGS += -g
QMAKE_CXXFLAGS += -Wno-deprecated-copy QMAKE_CXXFLAGS += -Wno-deprecated-copy -O
contains( CONFIG, PTU5 ) { contains( CONFIG, PTU5 ) {
greaterThan(QT_MAJOR_VERSION, 4): QT += serialport greaterThan(QT_MAJOR_VERSION, 4): QT += serialport

BIN
doc/ATBUpdateTool4.pdf Normal file

Binary file not shown.

View File

@@ -793,6 +793,152 @@ QString IsmasClient::updateOfPSASendVersion(PSAInstalled const &psa) {
return buf; return buf;
} }
#if 0
// prepare
QString IsmasClient::sendLastVersion(UPDATE_COMPONENT updateComponent,
PSAInstalled const &psa) {
static char buf[4096*2];
memset(buf, 0, sizeof(buf));
switch (updateComponent) {
case UPDATE_COMPONENT::TARIFF:
snprintf(buf, sizeof(buf)-1,
"{"
"\"VERSION_INFO\" : {"
"\"UPDATE_REASON\":\"%s\","
"\"CREATED\":\"%s\","
"\"GIT_COMMIT\":\"%s\""
"},"
"\"TARIFF\" : {"
"\"VERSION\" : \"%s\","
"\"PROJECT\" : \"%s\","
"\"ZONE\" : %d,"
"\"INFO\" : \"%s\","
"\"SIZE\" : %d\""
"},"
"}",
psa.tariff.versionInfo.reason.toStdString().c_str(),
psa.tariff.versionInfo.created.toStdString().c_str(),
psa.tariff.versionInfo.lastCommit.toStdString().c_str(),
psa.tariff.version.toStdString().c_str(),
psa.tariff.project.toStdString().c_str(),
psa.tariff.zone,
psa.tariff.info.toStdString().c_str(),
psa.tariff.size);
break;
case UPDATE_COMPONENT::SOFTWARE_ATBQT:
break;
case UPDATE_COMPONENT::SOFTWARE_APISM:
break;
case UPDATE_COMPONENT::SOFTWARE_ATB_UPDATE_TOOL:
break;
case UPDATE_COMPONENT::CONFIG_PTU5_CPU_SERIAL:
break;
case UPDATE_COMPONENT::CONFIG_DEVICE_CONTROLLER:
break;
case UPDATE_COMPONENT::CONFIG_PRINTER:
break;
case UPDATE_COMPONENT::CONFIG_BNA:
break;
case UPDATE_COMPONENT::PLUGIN_ATB_DEVICE_CONTROLLER:
break;
case UPDATE_COMPONENT::PLUGIN_INGENICO_CC:
break;
case UPDATE_COMPONENT::PLUGIN_MOBILISIS_CALC_PRICE:
break;
case UPDATE_COMPONENT::PLUGIN_MOBILISIS_CALC_PRICE_UI:
break;
case UPDATE_COMPONENT::PLUGIN_PRM_CALC_PRICE:
break;
case UPDATE_COMPONENT::PLUGIN_PRM_CALC_PRICE_UI:
break;
case UPDATE_COMPONENT::PLUGIN_TCP_ZVT_CC:
break;
case UPDATE_COMPONENT::OPKG_COMMANDS:
break;
case UPDATE_COMPONENT::HARDWARE_DEVICES:
break;
case UPDATE_COMPONENT::OS:
break;
case UPDATE_COMPONENT::DC2C_CASH_JSON:
break;
case UPDATE_COMPONENT::DC2C_CONF_JSON:
break;
case UPDATE_COMPONENT::DC2C_DEVICE_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT01_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT02_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT03_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT04_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT05_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT06_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT07_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT08_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT09_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT10_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT11_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT12_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT13_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT14_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT15_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT16_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT17_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT18_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT19_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT20_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT21_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT22_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT23_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT24_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT25_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT26_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT27_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT28_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT29_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT30_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT31_JSON:
break;
case UPDATE_COMPONENT::DC2C_PRINT32_JSON:
break;
}
qInfo() << buf;
return buf;
}
#endif
QString IsmasClient::updateOfPSAContinues(QString currentStage, QString IsmasClient::updateOfPSAContinues(QString currentStage,
QString currentStageInfo, QString currentStageInfo,
QString const &version) { QString const &version) {

View File

@@ -14,6 +14,7 @@ struct PSAInstalled {
} versionInfo; } versionInfo;
struct Tariff { struct Tariff {
// VersionInfo versionInfo;
QString name; QString name;
QString version; QString version;
QString project; QString project;
@@ -31,6 +32,7 @@ struct PSAInstalled {
} hw; } hw;
struct Opkg { struct Opkg {
// VersionInfo versionInfo;
int size; int size;
QString blob; QString blob;
QString lastCommit; QString lastCommit;
@@ -38,6 +40,7 @@ struct PSAInstalled {
} opkg; } opkg;
struct DC { struct DC {
// VersionInfo versionInfo;
QString versionHW; QString versionHW;
QString versionSW; QString versionSW;
QString gitBlob; QString gitBlob;
@@ -62,6 +65,7 @@ struct PSAInstalled {
} pluginVersion; } pluginVersion;
struct DC2C { struct DC2C {
// VersionInfo versionInfo;
QString name; QString name;
QString blob; QString blob;
int size; int size;
@@ -194,8 +198,68 @@ public:
QString jsonParseFailed(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()); std::optional<QString> finalResult(int resultCode, QString reason, QString const &version = QString());
// legacy
QString updateOfPSASendVersion(PSAInstalled const &psa); QString updateOfPSASendVersion(PSAInstalled const &psa);
#if 0
enum class UPDATE_COMPONENT {
TARIFF,
SOFTWARE_ATBQT,
SOFTWARE_APISM,
SOFTWARE_ATB_UPDATE_TOOL,
CONFIG_PTU5_CPU_SERIAL,
CONFIG_DEVICE_CONTROLLER,
CONFIG_PRINTER,
CONFIG_BNA,
PLUGIN_ATB_DEVICE_CONTROLLER,
PLUGIN_INGENICO_CC,
PLUGIN_MOBILISIS_CALC_PRICE,
PLUGIN_MOBILISIS_CALC_PRICE_UI,
PLUGIN_PRM_CALC_PRICE,
PLUGIN_PRM_CALC_PRICE_UI,
PLUGIN_TCP_ZVT_CC,
OPKG_COMMANDS,
HARDWARE_DEVICES,
OS,
DC2C_CASH_JSON,
DC2C_CONF_JSON,
DC2C_DEVICE_JSON,
DC2C_PRINT01_JSON,
DC2C_PRINT02_JSON,
DC2C_PRINT03_JSON,
DC2C_PRINT04_JSON,
DC2C_PRINT05_JSON,
DC2C_PRINT06_JSON,
DC2C_PRINT07_JSON,
DC2C_PRINT08_JSON,
DC2C_PRINT09_JSON,
DC2C_PRINT10_JSON,
DC2C_PRINT11_JSON,
DC2C_PRINT12_JSON,
DC2C_PRINT13_JSON,
DC2C_PRINT14_JSON,
DC2C_PRINT15_JSON,
DC2C_PRINT16_JSON,
DC2C_PRINT17_JSON,
DC2C_PRINT18_JSON,
DC2C_PRINT19_JSON,
DC2C_PRINT20_JSON,
DC2C_PRINT21_JSON,
DC2C_PRINT22_JSON,
DC2C_PRINT23_JSON,
DC2C_PRINT24_JSON,
DC2C_PRINT25_JSON,
DC2C_PRINT26_JSON,
DC2C_PRINT27_JSON,
DC2C_PRINT28_JSON,
DC2C_PRINT29_JSON,
DC2C_PRINT30_JSON,
DC2C_PRINT31_JSON,
DC2C_PRINT32_JSON,
};
QString sendLastVersion(UPDATE_COMPONENT comp, PSAInstalled const &psa);
#endif
private: private:
static void printDebugMessage(int port, QString const &clientIP, int clientPort, static void printDebugMessage(int port, QString const &clientIP, int clientPort,
QString const &message); QString const &message);

View File

@@ -123,6 +123,7 @@ Update::Update(Worker *worker,
// must deliver 'true', only then are all data from hwapi valid // must deliver 'true', only then are all data from hwapi valid
if (--tries < 0) { if (--tries < 0) {
qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED"; qCritical() << "ERROR!!! DC DATA NOT VALID -> CA-MASTER-PLUGIN NOT CONNECTED";
break;
} }
m_hw->dc_autoRequest(true); m_hw->dc_autoRequest(true);
QThread::msleep(500); QThread::msleep(500);

View File

@@ -30,6 +30,82 @@ int Utils::read1stLineOfFile(QString fileName) {
return -1; return -1;
} }
QString Utils::getLocation(QString fileName) {
QString location("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Project", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
location = line.mid(c+1);
if (!location.isEmpty()) {
return location.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return location;
}
QString Utils::getTariffVersion(QString fileName) {
QString version("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Version", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
version = line.mid(c+1);
if (!version.isEmpty()) {
return version.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return version;
}
QString Utils::getTariffInfo(QString fileName) {
QString info("N/A");
QFile f(fileName);
if (f.exists()) {
if (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&f);
in.setCodec("UTF-8");
while(!in.atEnd()) {
QString const &line = in.readLine();
if (line.indexOf("Info", Qt::CaseInsensitive) != -1) {
int const c = line.indexOf(":");
if (c != -1) {
info = line.mid(c+1);
if (!info.isEmpty()) {
return info.replace(QChar('"'), QString("")).trimmed();
}
}
}
}
}
}
return info;
}
QString Utils::zoneName(quint8 i) { QString Utils::zoneName(quint8 i) {
static constexpr char const *zName[] = { static constexpr char const *zName[] = {
"", "",

View File

@@ -12,6 +12,9 @@
namespace Utils { namespace Utils {
int read1stLineOfFile(QString fileName); int read1stLineOfFile(QString fileName);
QString getLocation(QString fileName);
QString getTariffVersion(QString fileName);
QString getTariffInfo(QString fileName);
QString zoneName(quint8 i); QString zoneName(quint8 i);
void printCriticalErrorMsg(QString const &errorMsg, bool upper=false, bool lower=false); void printCriticalErrorMsg(QString const &errorMsg, bool upper=false, bool lower=false);
void printCriticalErrorMsg(QStringList const &errorMsg); void printCriticalErrorMsg(QStringList const &errorMsg);

View File

@@ -140,6 +140,7 @@ Worker::Worker(int customerNr,
, m_serialInterface(serialInterface) , m_serialInterface(serialInterface)
, m_baudrate(baudrate) , m_baudrate(baudrate)
, m_gc(m_customerNrStr, m_customerRepository, m_workingDirectory, m_branchName, this) , m_gc(m_customerNrStr, m_customerRepository, m_workingDirectory, m_branchName, this)
, m_versionInfo(QStringList())
, m_osVersion(getOsVersion()) , m_osVersion(getOsVersion())
, m_atbqtVersion(getATBQTVersion()) , m_atbqtVersion(getATBQTVersion())
, m_atbUpdateToolVersion(getATBUpdateToolVersion()) , m_atbUpdateToolVersion(getATBUpdateToolVersion())
@@ -301,6 +302,9 @@ void Worker::privateUpdate() {
setProgress(i); // and switch to branch setProgress(i); // and switch to branch
if (m_gc.gitCloneAndCheckoutBranch()) { if (m_gc.gitCloneAndCheckoutBranch()) {
if (!isRepositoryCorrupted()) { if (!isRepositoryCorrupted()) {
if (m_versionInfo.size() == 0) {
m_versionInfo = m_gc.gitShowReason(m_branchName);
}
GUI() << (ISMAS() << (CONSOLE() << UPDATE_STEP::CLONE_REPOSITORY_SUCCESS)); GUI() << (ISMAS() << (CONSOLE() << UPDATE_STEP::CLONE_REPOSITORY_SUCCESS));
continueUpdate = true; continueUpdate = true;
m_clone = true; m_clone = true;
@@ -330,6 +334,11 @@ void Worker::privateUpdate() {
} }
} }
} }
if (m_versionInfo.size() == 0) {
m_versionInfo = m_gc.gitShowReason(m_branchName);
}
CONSOLE() << UPDATE_STEP::CHECK_REPOSITORY_SUCCESS; CONSOLE() << UPDATE_STEP::CHECK_REPOSITORY_SUCCESS;
setProgress(_CHECKOUT_REPOSITORY_SUCCESS); setProgress(_CHECKOUT_REPOSITORY_SUCCESS);
@@ -1118,15 +1127,14 @@ PSAInstalled Worker::getPSAInstalled() {
QString absPathName; QString absPathName;
QString absPathNameRepository; QString absPathNameRepository;
psaInstalled.versionInfo.lastCommit = ""; psaInstalled.versionInfo.lastCommit = "N/A";
psaInstalled.versionInfo.reason = ""; psaInstalled.versionInfo.reason = "N/A";
psaInstalled.versionInfo.created = ""; psaInstalled.versionInfo.created = "N/A";
QStringList versionInfo = m_gc.gitShowReason(m_branchName); if (m_versionInfo.size() == 3) {
if (versionInfo.size() == 3) { psaInstalled.versionInfo.lastCommit = m_versionInfo.at(0);
psaInstalled.versionInfo.lastCommit = versionInfo.at(0); psaInstalled.versionInfo.reason = m_versionInfo.at(1);
psaInstalled.versionInfo.reason = versionInfo.at(1); psaInstalled.versionInfo.created = m_versionInfo.at(2);
psaInstalled.versionInfo.created = versionInfo.at(2);
} }
if (m_zoneNr != 0) { if (m_zoneNr != 0) {
@@ -1139,10 +1147,10 @@ PSAInstalled Worker::getPSAInstalled() {
psaInstalled.tariff.size = getFileSize(absPathName); psaInstalled.tariff.size = getFileSize(absPathName);
psaInstalled.tariff.zone = m_zoneNr; psaInstalled.tariff.zone = m_zoneNr;
psaInstalled.tariff.loadTime = Utils::getTariffLoadTime(absPathName); psaInstalled.tariff.loadTime = Utils::getTariffLoadTime(absPathName);
psaInstalled.tariff.project = Utils::getLocation(absPathName);
psaInstalled.tariff.version = Utils::getTariffVersion(absPathName);
psaInstalled.tariff.info = Utils::getTariffInfo(absPathName);
} }
psaInstalled.tariff.project = "Szeged";
psaInstalled.tariff.info = "N/A";
psaInstalled.tariff.version = "N/A";
psaInstalled.hw.linuxVersion = getOsVersion(); psaInstalled.hw.linuxVersion = getOsVersion();
psaInstalled.hw.cpuSerial = m_cpuSerial; psaInstalled.hw.cpuSerial = m_cpuSerial;

View File

@@ -132,6 +132,7 @@ class Worker : public QThread{
QString const m_baudrate; QString const m_baudrate;
IsmasClient m_ismasClient; IsmasClient m_ismasClient;
GitClient m_gc; GitClient m_gc;
QStringList m_versionInfo;
QString const m_osVersion; QString const m_osVersion;
QString const m_atbqtVersion; QString const m_atbqtVersion;
QString const m_atbUpdateToolVersion; QString const m_atbUpdateToolVersion;
@@ -652,8 +653,10 @@ private:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY); ismasClient.setProgressInPercent(_CHECK_REPOSITORY);
break; break;
case UPDATE_STEP::CHECK_REPOSITORY_SUCCESS: case UPDATE_STEP::CHECK_REPOSITORY_SUCCESS:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY_SUCCESS);
break; break;
case UPDATE_STEP::CHECK_REPOSITORY_FAILURE: case UPDATE_STEP::CHECK_REPOSITORY_FAILURE:
ismasClient.setProgressInPercent(_CHECK_REPOSITORY_FAILURE);
break; break;
case UPDATE_STEP::CHECK_SANITY: case UPDATE_STEP::CHECK_SANITY:
ismasClient.setProgressInPercent(_CHECK_SANITY); ismasClient.setProgressInPercent(_CHECK_SANITY);
@@ -665,8 +668,10 @@ private:
ismasClient.setProgressInPercent(_CHECK_SANITY_FAILURE); ismasClient.setProgressInPercent(_CHECK_SANITY_FAILURE);
break; break;
case UPDATE_STEP::REPOSITORY_RECOVERED_SUCCESS: case UPDATE_STEP::REPOSITORY_RECOVERED_SUCCESS:
ismasClient.setProgressInPercent(_REPOSITORY_RECOVERED_SUCCESS);
break; break;
case UPDATE_STEP::REPOSITORY_RECOVERED_FAILURE: case UPDATE_STEP::REPOSITORY_RECOVERED_FAILURE:
ismasClient.setProgressInPercent(_REPOSITORY_RECOVERED_FAILURE);
break; break;
case UPDATE_STEP::CLONE_REPOSITORY: case UPDATE_STEP::CLONE_REPOSITORY:
ismasClient.setProgressInPercent(_CLONE_REPOSITORY); ismasClient.setProgressInPercent(_CLONE_REPOSITORY);
@@ -683,7 +688,7 @@ private:
QString("CLONED REPOSITORY %1 AND CHECKED OUT BRANCH %2") QString("CLONED REPOSITORY %1 AND CHECKED OUT BRANCH %2")
.arg(instance->m_customerRepository) .arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()).toStdString().c_str(), .arg(instance->m_gc.branchName()).toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
ismasUpdateNews); ismasUpdateNews);
} break; } break;
@@ -699,7 +704,7 @@ private:
QString("CLONING REPOSITORY %1 OR CHECKING OUT BRANCH %2 FAILED") QString("CLONING REPOSITORY %1 OR CHECKING OUT BRANCH %2 FAILED")
.arg(instance->m_customerRepository) .arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()).toStdString().c_str(), .arg(instance->m_gc.branchName()).toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -713,7 +718,8 @@ private:
ismasClient.cloneAndCheckoutCustomerRepository( ismasClient.cloneAndCheckoutCustomerRepository(
QString("CHECKED OUT REPOSITORY %1 AND CHECKED OUT BRANCH %2") QString("CHECKED OUT REPOSITORY %1 AND CHECKED OUT BRANCH %2")
.arg(instance->m_customerRepository) .arg(instance->m_customerRepository)
.arg(instance->m_gc.branchName()))); .arg(instance->m_gc.branchName()),
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A"));
break; break;
case UPDATE_STEP::CHECKOUT_REPOSITORY_FAILURE: case UPDATE_STEP::CHECKOUT_REPOSITORY_FAILURE:
ismasClient.setProgressInPercent(_CHECKOUT_REPOSITORY_FAILURE); ismasClient.setProgressInPercent(_CHECKOUT_REPOSITORY_FAILURE);
@@ -725,7 +731,8 @@ private:
ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_SUCCESS); ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_SUCCESS);
ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT, ismasClient.sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
QString("#M=APISM#C=CMD_EVENT#J=") + QString("#M=APISM#C=CMD_EVENT#J=") +
ismasClient.updateTriggerSet("ISMAS TRIGGER SET", "")); ismasClient.updateTriggerSet("ISMAS TRIGGER SET",
instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A"));
break; break;
case UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE: case UPDATE_STEP::CHECK_ISMAS_TRIGGER_WRONG_VALUE:
ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_WRONG_VALUE); ismasClient.setProgressInPercent(_CHECK_ISMAS_TRIGGER_WRONG_VALUE);
@@ -740,7 +747,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR, IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -763,7 +770,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -777,7 +784,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR, IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -911,7 +918,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -928,7 +935,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR, IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -954,7 +961,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -971,7 +978,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -991,7 +998,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -1011,7 +1018,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -1034,7 +1041,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -1048,7 +1055,7 @@ private:
IsmasClient::RESULT_CODE::SUCCESS, IsmasClient::RESULT_CODE::SUCCESS,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;
@@ -1062,7 +1069,7 @@ private:
IsmasClient::RESULT_CODE::INSTALL_ERROR, IsmasClient::RESULT_CODE::INSTALL_ERROR,
smap[step], smap[step],
instance->m_ismasMsg.join(' ').toStdString().c_str(), instance->m_ismasMsg.join(' ').toStdString().c_str(),
""); instance->m_versionInfo.size() >= 1 ? instance->m_versionInfo.at(0).toUtf8().constData() : "N/A");
ismasClient.sendRequestReceiveResponse( ismasClient.sendRequestReceiveResponse(
IsmasClient::APISM::DB_PORT, ismasUpdateNews); IsmasClient::APISM::DB_PORT, ismasUpdateNews);
} break; } break;