Index: main.cpp =================================================================== diff -u -r9a3ee027dbc33f39ee7df2a9dc5a7897c6b1854d -rc933552983a659ca4cc351ff4d43d07319adab1e --- main.cpp (.../main.cpp) (revision 9a3ee027dbc33f39ee7df2a9dc5a7897c6b1854d) +++ main.cpp (.../main.cpp) (revision c933552983a659ca4cc351ff4d43d07319adab1e) @@ -23,17 +23,22 @@ // Qt #include #include -#include +#include #include +#include // Project #include "maintimer.h" #include "caninterface.h" -#include "messagehandler.h" +#include "frameinterface.h" +#include "messagedispatcher.h" #include "applicationcontroller.h" -#include "guiglobals.h" #include "guicontroller.h" +#ifdef UNIT_TEST + #include TEST_CLASS_INCLUDE + QTEST_MAIN(TEST_CLASS_NAME) +#else /*! \brief Application Initialization\n * Some part of the application need to be initialized out of any thread. * So is initialized here to be initialized in the main thread. @@ -45,37 +50,61 @@ // Qt Core Application parameters settings // Qt Core Application Initialization - QGuiApplication app(argc, argv); + QApplication app(argc, argv); QCoreApplication::setApplicationName(QLatin1String("Denali")); QCoreApplication::setOrganizationName(QLatin1String("Diality Inc.")); + // Test code for debugging can messages + bool _consoleoutFrameInterface = false; + bool _consoleoutCanInterface = false; + QStringList args = app.arguments(); + if (args.length() >= 2) { + _consoleoutFrameInterface = args[1] == "1"; + } + if (args.length() >= 3) { + _consoleoutCanInterface = args[2] == "1"; + } + //! - Setting the application version regarding the Bamboo build number. QString ver_revis = QString("%1").arg(VER_REVIS); - if (ver_revis.isEmpty()) ver_revis = QString("%1").arg(VER_DEVEL); + if (ver_revis.isEmpty()) { + ver_revis = QString("%1").arg(VER_DEVEL); + } QCoreApplication::setApplicationVersion(QString("%1.%2.%3") .arg(VER_MAJOR) .arg(VER_MINOR) .arg(ver_revis)); //! - Translation initialization QTranslator translator; - if (translator.load(QLocale(), app.applicationName(), QLatin1String("_"), QLatin1String(":/translations"))) + bool trLoaded = translator.load(QLocale(), app.applicationName(), QLatin1String("_"), QLatin1String(":/translations")); + if (trLoaded) { app.installTranslator(&translator); + } //! - Initializing Main Timer _MainTimer->init(); //! - Initializing CanBus Interface _CanInterface->init(); + _CanInterface->enableConsoleOut(_consoleoutCanInterface); //! - Initializing CanBus Message Handler - _MessageHandler->init(); + _FrameInterface->init(); + //! - Initializing CanBus Message Dispatcher + _MessageDispatcher->init(); + _MessageDispatcher->enableConsoleOut(_consoleoutFrameInterface); + //! - Initializing Application Controller _ApplicationController->init(); + QObject::connect(&app, &QApplication::aboutToQuit, []() { + emit _ApplicationController->quit(); + }); QObject::connect(_ApplicationController, &ApplicationController::quit, &app, [](int retcode) { - qDebug() << "Application Terminated:" << retcode; + _CanInterface->quit(); QCoreApplication::exit(retcode); + qDebug() << QObject::tr("Application Terminated: %1").arg(retcode); }, Qt::QueuedConnection); ////! - Initializing GUI Controller @@ -86,3 +115,4 @@ return app.exec(); } +#endif