Removed C++-thread-handling, replaced it with Qt-versions. Using explicit Worker

instance instead.
This commit is contained in:
Gerhard Hoffmann 2023-07-14 13:29:52 +02:00
parent 58bceb5d27
commit d6446f90fe

View File

@ -12,7 +12,6 @@
#include "plugins/interfaces.h" #include "plugins/interfaces.h"
#include <unistd.h> #include <unistd.h>
#include <thread>
#include <memory> #include <memory>
#include <QSharedMemory> #include <QSharedMemory>
#include <QRunnable> #include <QRunnable>
@ -23,10 +22,13 @@
#include <QStandardPaths> #include <QStandardPaths>
#include "update.h" #include "update.h"
#include "git/git_client.h"
#include "ismas/ismas_client.h"
#include "apism/apism_client.h"
#include "worker_thread.h" #include "worker_thread.h"
#include "worker.h" #include "worker.h"
#include <thread> #include <QThread>
#ifdef PTU5 #ifdef PTU5
#define SERIAL_PORT "ttymxc2" #define SERIAL_PORT "ttymxc2"
@ -34,23 +36,13 @@
#define SERIAL_PORT "ttyUSB0" #define SERIAL_PORT "ttyUSB0"
#endif #endif
class hwinf;
static void doWork(hwinf *hw, QString update_ctrl_file,
QString workingDir, bool maintenanceMode, bool testMode) {
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
Update update(hw, update_ctrl_file, workingDir, maintenanceMode, testMode);
update.doUpdate();
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
QCoreApplication::quit();
}
// argv[1]: file to send to dc // argv[1]: file to send to dc
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
QByteArray const value = qgetenv("LC_ALL");
QByteArray const value = qgetenv("XDG_RUNTIME_DIR"); if (value != "C") {
if (value.size() == 0) { qputenv("LC_ALL", "C");
qputenv("XDG_RUNTIME_DIR", "/run/user/0");
} }
// qputenv("XDG_RUNTIME_DIR", "/run/user/0");
QApplication a(argc, argv); QApplication a(argc, argv);
QApplication::setApplicationName("ATBUpdateTool"); QApplication::setApplicationName("ATBUpdateTool");
@ -58,7 +50,7 @@ int main(int argc, char *argv[]) {
if (!messageHandlerInstalled()) { // change internal qt-QDebug-handling if (!messageHandlerInstalled()) { // change internal qt-QDebug-handling
atbInstallMessageHandler(atbDebugOutput); atbInstallMessageHandler(atbDebugOutput);
setDebugLevel(QtMsgType::QtDebugMsg); setDebugLevel(QtMsgType::QtInfoMsg);
//setDebugLevel(QtMsgType::QtDebugMsg); //setDebugLevel(QtMsgType::QtDebugMsg);
} }
@ -154,10 +146,15 @@ int main(int argc, char *argv[]) {
// hw->dc_autoRequest(false); // hw->dc_autoRequest(false);
QString const update_ctrl_file = "/opt/app/tools/atbupdate/update_log.csv"; QString const update_ctrl_file = "/opt/app/tools/atbupdate/update_log.csv";
std::thread t(doWork, hw, update_ctrl_file, workingDir, maintenanceMode, testMode); Worker worker(hw, update_ctrl_file,
"https://git.mimbach49.de/GerhardHoffmann/customer_999.git",
"customer_999",
"zg1/zone1",
workingDir,
maintenanceMode,
testMode,
executeScriptOnly,
dryRun);
int ret = a.exec(); return a.exec();
t.join();
return ret;
} }