Compare commits

...

2 Commits

Author SHA1 Message Date
b0f1e0a493 Minor: reformatting code.w 2024-02-06 11:28:01 +01:00
0dffc1d1c2 Create m_update-object inside of constructor of worker-class:
this way the object belongs to the GUI-thread, and can be addressed via emit
by the reporting thread.
2024-02-06 11:25:46 +01:00
3 changed files with 22 additions and 25 deletions

View File

@ -146,34 +146,33 @@ Update::Update(Worker *worker,
QDebug critical = qCritical();
critical << "connect() to onReportDCDownloadStatus() ...";
if (!connect(obj,
SIGNAL(hwapi_reportDCDownloadStatus(QString const&)), this,
SLOT(onReportDCDownloadStatus(QString const &)))) {
SIGNAL(hwapi_reportDCDownloadStatus(QString const&)),
this,
SLOT(onReportDCDownloadStatus(QString const &)))) {
critical << "FAILED";
}
critical << "DONE";
} else critical << "DONE";
critical = qCritical();
critical << "connect() to onReportDCDownloadSuccess() ...";
if (!connect(obj,
SIGNAL(hwapi_reportDCDownloadSuccess(QString const&)), this,
SLOT(onReportDCDownloadSuccess(QString const &)))) {
critical << "FAILED";
}
critical << "DONE";
} else critical << "DONE";
critical = qCritical();
critical << "connect() to onReportDCDownloadFailure() ...";
if (!connect(obj,
SIGNAL(hwapi_reportDCDownloadFailure(QString const &)), this,
SLOT(onReportDCDownloadFailure(QString const &)))) {
critical << "FAILED";
}
critical << "DONE";
} else critical << "DONE";
}
}
Update::~Update() {
}
void Update::onReportDCDownloadStatus(QString const &status) {
emit m_worker->showStatusMessage("DL", status);
}
@ -645,8 +644,8 @@ bool Update::doUpdate(int &displayIndex, QStringList const &filesToWorkOn) {
m_worker->startProgressLoop();
QString const &fToWorkOn = QDir::cleanPath(m_customerRepository + QDir::separator() + it->trimmed());
if (fToWorkOn.endsWith("/dc2c.bin") && dcDownloadPossible) {
qCritical() << "F-TO-WORK-ON" << fToWorkOn;
// download for dc possible only once
// download of device-controller should always be the last step
dcDownloadPossible = false;
if (!m_hw->dcDownloadRequest(fToWorkOn)) { // initiate download process
@ -684,11 +683,11 @@ bool Update::doUpdate(int &displayIndex, QStringList const &filesToWorkOn) {
qCritical() << QDateTime::currentDateTime().toString(Qt::ISODate)
<< "(" << __func__ << ":" << __LINE__ << ") DOWNLOAD REPORT RUNNING";
while (m_hw->dcDownloadReportRunning()) {
QThread::msleep(500);
}
bool updateBinaryRes = true;
// CONSOLE()

View File

@ -166,7 +166,13 @@ Worker::Worker(int customerNr,
// TODO: turn object into singleton
instance = this;
m_lastFailedUpdateStep = UPDATE_STEP::NONE;
m_update = nullptr;
m_update = new Update(this,
QDir::cleanPath(m_workingDirectory + QDir::separator() + m_customerNrStr),
m_customerNrStr,
m_branchName,
m_pluginDir,
m_pluginName,
m_workingDirectory);
this->setObjectName("worker-object");
QDir::setCurrent(m_workingDirectory);
@ -175,6 +181,10 @@ Worker::Worker(int customerNr,
}
Worker::~Worker() {
if (m_update != nullptr) {
delete m_update;
m_update = nullptr;
}
}
void Worker::displayProgressInMainWindow(int progress) {
@ -889,15 +899,7 @@ bool Worker::downloadFilesToPSAHardware() {
QStringList lst = m_filesToDownload;
ISMAS(lst) << (CONSOLE(lst) << UPDATE_STEP::FILES_TO_DOWNLOAD);
m_update = new Update(this,
QDir::cleanPath(m_workingDirectory + QDir::separator() + m_customerNrStr),
m_customerNrStr,
m_branchName,
m_pluginDir,
m_pluginName,
m_workingDirectory);
if (m_update->doUpdate(m_displayIndex, m_filesToDownload)) {
if (m_update && m_update->doUpdate(m_displayIndex, m_filesToDownload)) {
// prepared for use: at the moment, the dc-library does not work
// as expected.

View File

@ -249,10 +249,6 @@ class Worker : public QThread{
<< UPDATE_STEP::SEND_LAST_VERSION));
}
m_worker->stopProgressLoop();
if (m_worker->m_update != nullptr) {
delete m_worker->m_update;
m_worker->m_update = nullptr;
}
m_worker->m_updateProcessRunning = false;
emit m_worker->enableExit();
emit m_worker->restartExitTimer();