#include #include #include #include #include #include #include "LeahiRtController.h" #define log qDebug().noquote() /*! * \brief signalHandler * \details When application terminates it quits gracefully. * \param[in] sig - The Linux signal causes the termination. */ void signalHandler(int sig) { if (sig == SIGINT) { log << "Application terminated by SIGINT"; qApp->quit(); } else if (sig == SIGTERM) { log << "Application terminated by SIGTERM"; qApp->quit(); } } int main(int argc, char *argv[]) { signal(SIGINT , signalHandler); signal(SIGTERM, signalHandler); QCoreApplication app(argc, argv); app.setApplicationName("LeahiRt"); app.setApplicationVersion("1.0"); QCommandLineParser parser; parser.setApplicationDescription("Leahi Real-time Cloud Data Transmission daemon."); parser.addHelpOption(); parser.addVersionOption(); QCommandLineOption configOption( {"c", "config"}, "Path to the configuration INI file.", "config", QDir(app.applicationDirPath()).filePath("config/LeahiRt.ini") ); parser.addOption(configOption); parser.process(app); LeahiRtController rtController(parser.value(configOption)); rtController.connectToServer(); return app.exec(); }