Worker is the work-horse of the update process.
Using ismas-client it sends requests to APISM and gets results in a synchronous fashion. Add previous emits to git client and apism client have been removed.
This commit is contained in:
96
worker.h
96
worker.h
@@ -13,7 +13,6 @@
|
||||
#include "update.h"
|
||||
#include "git/git_client.h"
|
||||
#include "ismas/ismas_client.h"
|
||||
#include "apism/apism_client.h"
|
||||
|
||||
#ifdef PTU5
|
||||
#define SERIAL_PORT "ttymxc2"
|
||||
@@ -23,21 +22,31 @@
|
||||
|
||||
|
||||
enum class UPDATE_STATUS : quint8 {
|
||||
ISMAS_EMULATE_DATA_AVAILABLE,
|
||||
ISMAS_UPDATE_REQUEST_PENDING,
|
||||
ISMAS_UPDATE_REQUEST_FAILURE,
|
||||
ISMAS_UPDATE_REQUEST_TIMEOUT,
|
||||
ISMAS_UPDATE_REQUEST_SUCCESS,
|
||||
NOT_DEFINED,
|
||||
STEP_OK,
|
||||
STEP_DONE,
|
||||
STEP_FAIL,
|
||||
ISMAS_WAIT_STATE_CHECK_PENDING,
|
||||
ISMAS_WAIT_STATE_CHECK_FAILURE,
|
||||
ISMAS_WAIT_STATE_CHECK_TIMEOUT,
|
||||
ISMAS_WAIT_STATE_CHECK_SUCCESS,
|
||||
ISMAS_RESPONSE_RECEIVED,
|
||||
GIT_CHECKOUT_BRANCH_REQUEST,
|
||||
BACKEND_CONNECTED,
|
||||
BACKEND_NOT_CONNECTED,
|
||||
UPDATE_TRIGGER_SET,
|
||||
UPDATE_TRIGGER_NOT_SET_OR_WRONG,
|
||||
GIT_CLONE_AND_CHECKOUT_SUCCESS,
|
||||
GIT_CLONE_AND_CHECKOUT_FAILURE,
|
||||
GIT_CHECKOUT_BRANCH,
|
||||
GIT_CHECKOUT_BRANCH_REQUEST_FAILURE,
|
||||
GIT_CHECKOUT_BRANCH_NOT_EXISTS,
|
||||
GIT_CHECKOUT_BRANCH_CHECKOUT_ERROR,
|
||||
GIT_FETCH_UPDATES_REQUEST,
|
||||
GIT_FETCH_UPDATES,
|
||||
GIT_FETCH_UPDATES_REQUEST_FAILURE,
|
||||
GIT_FETCH_UPDATES_REQUEST_SUCCESS,
|
||||
GIT_PULL_UPDATES_SUCCESS,
|
||||
GIT_PULL_UPDATES_FAILURE,
|
||||
EXEC_OPKG_COMMAND,
|
||||
EXEC_OPKG_COMMANDS,
|
||||
EXEC_OPKG_COMMAND_FAILURE,
|
||||
EXEC_OPKG_COMMAND_SUCCESS,
|
||||
@@ -51,6 +60,8 @@ enum class UPDATE_STATUS : quint8 {
|
||||
JSON_UPDATE,
|
||||
JSON_UPDATE_FAILURE,
|
||||
JSON_UPDATE_SUCCESS,
|
||||
UPDATE_PROCESS_SUCCESS,
|
||||
UPDATE_PROCESS_FAILURE,
|
||||
ISMAS_UPDATE_INFO_CONFIRM,
|
||||
ISMAS_UPDATE_INFO_CONFIRM_FAILURE,
|
||||
ISMAS_UPDATE_INFO_CONFIRM_SUCCESS,
|
||||
@@ -63,7 +74,8 @@ struct UpdateStatus {
|
||||
UPDATE_STATUS m_updateStatus;
|
||||
QString m_statusDescription;
|
||||
|
||||
explicit UpdateStatus(UPDATE_STATUS s, QString const &d)
|
||||
explicit UpdateStatus(UPDATE_STATUS s = UPDATE_STATUS::NOT_DEFINED,
|
||||
QString const &d = QString(""))
|
||||
: m_updateStatus(s), m_statusDescription(d) {}
|
||||
};
|
||||
|
||||
@@ -78,10 +90,6 @@ class Worker : public QObject {
|
||||
|
||||
hwinf *m_hw;
|
||||
WorkerThread m_workerThread;
|
||||
QTimer m_startUpdateProcess;
|
||||
QTimer m_emergencyTimer;
|
||||
Update *m_update;
|
||||
ApismClient m_apismClient;
|
||||
int const m_customerNr;
|
||||
QString const m_customerNrStr;
|
||||
int const m_machineNr;
|
||||
@@ -90,8 +98,9 @@ class Worker : public QObject {
|
||||
QString const m_branchName;
|
||||
QString const m_customerRepositoryPath;
|
||||
QString const m_customerRepository;
|
||||
Update *m_update;
|
||||
IsmasClient m_ismasClient;
|
||||
GitClient m_gc;
|
||||
bool m_maintenanceMode;
|
||||
QString const m_osVersion;
|
||||
QString const m_atbqtVersion;
|
||||
QString const m_cpuSerial;
|
||||
@@ -107,12 +116,14 @@ class Worker : public QObject {
|
||||
|
||||
int m_ismasUpdateRequests;
|
||||
QTimer m_waitForNewUpdates;
|
||||
IsmasClient m_ismasClient;
|
||||
|
||||
UPDATE_STATUS m_updateStatus;
|
||||
QString m_statusDescription;
|
||||
UpdateStatus m_updateStatus;
|
||||
|
||||
void executeOpkgCommand(QString opkgCommand);
|
||||
QStringList m_filesToUpdate;
|
||||
bool m_updateProcessRunning;
|
||||
int m_displayIndex;
|
||||
|
||||
bool executeOpkgCommand(QString opkgCommand);
|
||||
QString getOsVersion() const;
|
||||
QString getATBQTVersion() const;
|
||||
QString getCPUSerial() const;
|
||||
@@ -124,21 +135,31 @@ class Worker : public QObject {
|
||||
qint64 getFileSize(QString const &fileName) const;
|
||||
|
||||
public:
|
||||
static const QString UPDATE_STEP_OK;
|
||||
static const QString UPDATE_STEP_DONE;
|
||||
static const QString UPDATE_STEP_FAIL;
|
||||
static const QString UPDATE_STEP_SUCCESS;
|
||||
|
||||
explicit Worker(hwinf *hw,
|
||||
int customerNr, // 281
|
||||
int machineNr,
|
||||
int zoneNr,
|
||||
QString branchName,
|
||||
QString workingDir = ".",
|
||||
bool maintenanceMode = false,
|
||||
bool dryRun = false,
|
||||
QObject *parent = nullptr,
|
||||
char const *serialInterface = SERIAL_PORT,
|
||||
char const *baudrate = "115200");
|
||||
~Worker();
|
||||
void quit() { return m_workerThread.quit(); }
|
||||
|
||||
static int read1stLineOfFile(QString fileName);
|
||||
IsmasClient &getIsmasClient() { return m_ismasClient; }
|
||||
IsmasClient const &getIsmasClient() const { return m_ismasClient; }
|
||||
|
||||
bool updateProcessRunning() const { return m_updateProcessRunning; }
|
||||
|
||||
int machineNr() const { return m_machineNr; }
|
||||
int customerNr() const { return m_customerNr; }
|
||||
int zoneNr() const { return m_zoneNr; }
|
||||
|
||||
//friend QDebug operator<<(QDebug debug, Worker const &w) {
|
||||
// Q_UNUSED(w);
|
||||
@@ -150,24 +171,29 @@ public:
|
||||
//}
|
||||
|
||||
signals:
|
||||
void handleChangedFiles(QStringList);
|
||||
void summarizeUpload(QStringList);
|
||||
void summarizeRepositoryStatus();
|
||||
void sendCmdSendVersionToIsmas();
|
||||
void finishUpdateProcess(bool changes);
|
||||
void terminateUpdateProcess();
|
||||
void appendText(QString, QString);
|
||||
void showErrorMessage(QString title, QString description);
|
||||
void setProgress(quint8);
|
||||
void stopStartTimer();
|
||||
void restartExitTimer();
|
||||
|
||||
public slots:
|
||||
void onIsmasResponseReceived(QJsonObject ismasResponse);
|
||||
void update();
|
||||
|
||||
private slots:
|
||||
void askIsmasForNewData();
|
||||
void onSendCmdSendVersionToIsmas();
|
||||
void onSummarizeRepositoryStatus();
|
||||
void onFinishUpdateProcess(bool changes);
|
||||
void onTerminateUpdateProcess();
|
||||
void onSummarizeUpload(QStringList);
|
||||
void onHandleChangedFiles(QStringList);
|
||||
bool backendConnected();
|
||||
bool updateTriggerSet();
|
||||
bool customerEnvironment();
|
||||
bool filesToUpdate();
|
||||
bool updateFiles(quint8 percent);
|
||||
bool syncCustomerRepositoryAndFS();
|
||||
bool sendIsmasLastVersionNotification();
|
||||
bool saveLogFile();
|
||||
|
||||
private:
|
||||
PSAInstalled getPSAInstalled();
|
||||
QString sendCmdSendVersionToIsmas();
|
||||
void privateUpdate();
|
||||
};
|
||||
|
||||
#endif // WORKER_H_INCLUDED
|
||||
|
Reference in New Issue
Block a user