From a4f20f1c291c33c4290e3f633d2b16cfae0d1364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Fischer?= Date: Thu, 7 Nov 2019 13:49:37 +0100 Subject: [PATCH] better way of handling error --- src/app/main.cpp | 10 ++++------ src/colnod/datamanager.cpp | 11 ++++------- src/colnod/syncmanager.cpp | 4 ++-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index 9c3aeda..0ff9f05 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -16,12 +16,6 @@ int main(int argc, char *argv[]) parser.addOption(dryModeOption); parser.process(app); SyncManager api(parser.isSet(dryModeOption)); - if (!api.isValid()) - return 1; - QObject::connect(&api, &SyncManager::error, [](){ - qDebug() << "error"; - QCoreApplication::exit(1); - }); api.loadDataFromDB(); api.loadDataFromColnod(); QObject::connect(&api, &SyncManager::dataDownloaded, [&](){ @@ -32,5 +26,9 @@ int main(int argc, char *argv[]) api.syncDataFromColnodToDB(); api.syncDataFromDBToColnod(); }); + QObject::connect(&api, &SyncManager::error, &app, [](){ + qDebug() << "error"; + QCoreApplication::exit(1); + }, Qt::QueuedConnection); return QCoreApplication::exec(); } diff --git a/src/colnod/datamanager.cpp b/src/colnod/datamanager.cpp index b94008b..723af35 100644 --- a/src/colnod/datamanager.cpp +++ b/src/colnod/datamanager.cpp @@ -3,18 +3,14 @@ DataManager::DataManager(const bool &dryMode) :dryMode(dryMode) { - db = std::make_shared("192.168.1.94", "deloitte", "postgres", "34rjkciea12", dryMode); + db = std::make_shared("192.168.1.4", "deloitte", "postgres", "34rjkciea12", dryMode); //db = std::make_shared("localhost", "deloitte", "postgres", "34rjkciea12"); if (db->isOpen()){ Logger::setDBMan(db); nextLastSync = db->getNow(); lastSync = db->getLastSync(); } - else { - emit error(); - QCoreApplication::quit(); - } - connect(db.get(), &DatabaseManager::error, this, &DataManager::error); + connect(db.get(), &DatabaseManager::error, this, &DataManager::error, Qt::QueuedConnection); } // load all tokens from colnod to comparing with working set from DB @@ -99,7 +95,8 @@ void DataManager::fillTokensToChangeDB() qDebug() << "DB:" << tokensToUpdateFromDBToColnod.size() << "tokens to update"; qDebug() << "DB:" << tokensFromDBToDeleteFromColnod.size() << "tokens to delete"; } - else emit error(); + else + emit error(); } void DataManager::fillSubjectsToUpdateDB() diff --git a/src/colnod/syncmanager.cpp b/src/colnod/syncmanager.cpp index c74727e..411058c 100644 --- a/src/colnod/syncmanager.cpp +++ b/src/colnod/syncmanager.cpp @@ -5,8 +5,8 @@ SyncManager::SyncManager(bool dryMode) { reqMan = std::make_unique(); dataMan = std::make_unique(dryMode); - connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error); - connect(dataMan.get(), &DataManager::error, this, &SyncManager::error); + connect(reqMan.get(), &RequestManager::error, this, &SyncManager::error, Qt::QueuedConnection); + connect(dataMan.get(), &DataManager::error, this, &SyncManager::error, Qt::QueuedConnection); } void SyncManager::loadDataFromColnod()