From c0b6b199a9878bc1e95907200501211c09c1e66c Mon Sep 17 00:00:00 2001 From: Niklas Goby Date: Wed, 23 Nov 2011 11:56:19 +0100 Subject: created modules --- src/main.cpp | 268 ----------------------------------------------------------- 1 file changed, 268 deletions(-) delete mode 100644 src/main.cpp (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp deleted file mode 100644 index a187d01..0000000 --- a/src/main.cpp +++ /dev/null @@ -1,268 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "loggerengine.h" -#include "fbgui.h" -#include "ndgui.h" - -#include "../common/fbgui.h" - -void printHelp() { - QTextStream qout(stdout); - qout << QObject::tr("Usage: ./fbgui [OPTIONS]") << endl; - qout << QObject::tr("Options:") << endl; - qout << "-c , --config= " << QObject::tr("Path to configuration file.") << endl; - qout << "-u , --url= " << QObject::tr("Sets the URL to be loaded.") << endl; - qout << "-d , --download= " << QObject::tr("Specify the download directory.") - << endl; - qout << "-t " << QObject::tr( - "Specify location of the file triggering the URL load.") << endl; - qout << "-s " << QObject::tr( - "Specify location of the file containing the serial number.") << endl; - qout << "-D , --debug= " << QObject::tr("Activate debug mode. [0,1]") << endl; - qout << "-h, --help " << QObject::tr("Prints this help.") << endl; - qout.flush(); - exit( EXIT_SUCCESS); -} - -int main(int argc, char *argv[]) { - // Initialisation of the QApplication: - // In QT, every application is composed of two separate - // components: the GUI-Client and the GUI-Server. - // - // The third parameter sets the application as the - // GUI-Server (aswell as the GUI-Client). - - QApplication app(argc, argv, QApplication::GuiServer); - app.setOrganizationName("team_projekt_2011"); - app.setApplicationName("prebootGUI"); - binPath = QApplication::applicationDirPath(); - - QTranslator translator; - translator.load(":" + QLocale::system().name()); - app.installTranslator(&translator); - - // parse command line arguments using getopt - QMap clOpts; - int longIndex = 0; - static const char *optString = "c:u:d:s:t:D:hl:"; - static const struct option longOpts[] = { { "config", required_argument, NULL, 'c' }, { "url", - required_argument, NULL, 'u' }, { "download", required_argument, NULL, 'd' }, { "serial", - required_argument, NULL, 's' }, { "trigger", required_argument, NULL, 't' }, { "debug", - required_argument, NULL, 'D' }, { "help", no_argument, NULL, 'h' }, { "log", - required_argument, NULL, 'l' }, - { "server", required_argument, NULL, 'S' }, - { "autoup", no_argument, NULL, 'a' }, - { "socketserverpath", required_argument, NULL, 'p' }, - { "pathtoexe", required_argument, NULL, 'e' } - }; - int opt = getopt_long(argc, argv, optString, longOpts, &longIndex); - while (opt != -1) { - switch (opt) { - case 'c': - clOpts.insert("configFile", optarg); - break; - case 'l': - clOpts.insert("logFile", optarg); - break; - case 'u': - clOpts.insert("url", optarg); - break; - case 'd': - clOpts.insert("downloadDir", optarg); - break; - case 's': - clOpts.insert("serialLocation", optarg); - break; - case 't': - clOpts.insert("trigger", optarg); - break; - case 'D': - clOpts.insert("debug", optarg); - break; - case 'h': - clOpts.insert("help", "help"); - break; - case 'S': - clOpts.insert("server", optarg); - break; - case 'a': - clOpts.insert("autoup", "autoup"); - break; - case 'p': - clOpts.insert("socketserverpath", optarg); - break; - case 'e': - clOpts.insert("pathtoexe", optarg); - break; - } - opt = getopt_long(argc, argv, optString, longOpts, &longIndex); - } - - if (clOpts.contains("help")) - printHelp(); - - if (clOpts.contains("debug")) { - debugMode = clOpts.value("debug").toInt(); - // start basic debug output on terminal - qxtLog->disableLoggerEngine("DEFAULT"); - qxtLog->enableLogLevels(QxtLogger::DebugLevel); - qxtLog->addLoggerEngine("std_logger", new LoggerEngine_std); - qxtLog->initLoggerEngine("std_logger"); - qxtLog->setMinimumLevel("std_logger", QxtLogger::DebugLevel); - } else - debugMode = -1; - - // look for config file either in: - // - the path found in the configuration file - // - the user's home directory (as .fbgui.conf) - // - /etc/fbgui.conf - - QString configFilePath; - QFileInfo confInfo; - if (clOpts.contains("configFile")) - configFilePath = clOpts.value("configFile"); - else { - confInfo = QFileInfo(QDir::home(), ".fbgui.conf"); - if (confInfo.exists()) - configFilePath = confInfo.absoluteFilePath(); - else { - confInfo = QFileInfo(QString("/etc/fbgui.conf")); - if (confInfo.exists()) - configFilePath = QString("/etc/fbgui.conf"); - else - configFilePath = DEFAULT_CONFIG_PATH; - } - } - - // read the config file - QSettings confFileSettings(configFilePath, QSettings::IniFormat); - confFileSettings.setIniCodec("UTF-8"); - - // set base URL to be loaded - if (clOpts.contains("url")) - baseURL = QUrl(clOpts.value("url")); - else if (confFileSettings.contains("default/pbs_url")) - baseURL = confFileSettings.value("default/pbs_url").toUrl(); - else - baseURL = DEFAULT_URL; - - // set directory for downloads - if (clOpts.contains("downloadDir")) - downloadPath = clOpts.value("downloadDir"); - else if (confFileSettings.contains("default/download_directory")) - downloadPath = confFileSettings.value("default/download_directory").toString(); - else - downloadPath = DEFAULT_DOWNLOAD_DIR; - - // set update interval for download progress functions of download manager. - if (confFileSettings.contains("default/update_interval")) - updateInterval = confFileSettings.value("default/update_interval").toInt(); - else - updateInterval = DEFAULT_UPDATE_INTERVAL; - - // set which file to watch to trigger loading of URL - if (clOpts.contains("trigger")) - fileToTriggerURL = clOpts.value("trigger"); - else if (confFileSettings.contains("default/file_trigger")) - fileToTriggerURL = confFileSettings.value("default/file_trigger").toString(); - else - fileToTriggerURL = DEFAULT_FILE_TRIGGER; - - // set serial location - if (clOpts.contains("serialLocation")) - serialLocation = clOpts.value("serialLocation"); - else if (confFileSettings.contains("default/serial_location")) - serialLocation = confFileSettings.value("default/serial_location").toString(); - else - serialLocation = QString("/serial"); // tests - - // save ip config location (file generated by uchpc) - if (confFileSettings.contains("default/ip_config")) - ipConfigFilePath = confFileSettings.value("default/ip_config").toString(); - - // save path to log file - if (clOpts.contains("logFile")) - logFilePath = clOpts.value("logFile"); - else if (confFileSettings.contains("default/log_file")) - logFilePath = confFileSettings.value("default/log_file").toString(); - else - logFilePath = DEFAULT_LOG_FILE_PATH; - - // - if (clOpts.contains("server")) - gServerIp = clOpts.value("server"); - else if (confFileSettings.contains("default/server")) - gServerIp = confFileSettings.value("default/server").toString(); - else - gServerIp = "209.85.148.105"; //that is a google server. change this to a proper default address - - // - if (clOpts.contains("autoup")) - gAutoUp = true; - else if (confFileSettings.contains("default/autoup")) - gAutoUp = confFileSettings.value("default/autoup").toBool(); - else - gAutoUp = false; - - // - if (clOpts.contains("socketserverpath")) - gSocketServerPath = clOpts.value("socketserverpath"); - else if (confFileSettings.contains("default/socketserverpath")) - gSocketServerPath = confFileSettings.value("default/socketserverpath").toString(); - else - gSocketServerPath = DEFAULT_QTSOCKETADDRESS; - - // - if (clOpts.contains("pathtoexe")) - gPathToDhcpExe = clOpts.value("pathtoexe"); - else if (confFileSettings.contains("default/pathtoexe")) - gPathToDhcpExe = confFileSettings.value("default/pathtoexe").toString(); - else - gPathToDhcpExe = DEFAULT_PATHTODHCPCDEXE; - - - - // write always a log file - // // activate file logger if debug mode activated. - // if (debugMode > -1) { - // start debug logging to file. - qxtLog->addLoggerEngine("file_logger", new LoggerEngine_file(logFilePath)); - qxtLog->setMinimumLevel("file_logger", QxtLogger::DebugLevel); - // } - - // print config - qxtLog->debug() << "************* CONFIG INFO *************"; - qxtLog->debug() << "configFilePath: " << configFilePath.toUtf8(); - qxtLog->debug() << "logFilePath: " << logFilePath.toUtf8(); - qxtLog->debug() << "ipConfigFilePath: " << ipConfigFilePath.toUtf8(); - qxtLog->debug() << "baseURL: " << baseURL.toString().toUtf8(); - qxtLog->debug() << "downloadDir : " << downloadPath.toUtf8(); - qxtLog->debug() << "trigger: " << fileToTriggerURL.toUtf8(); - qxtLog->debug() << "serialLocation: " << serialLocation.toUtf8(); - qxtLog->debug() << "server: " << gServerIp.toUtf8(); - qxtLog->debug() << "autoup: " << gAutoUp; - qxtLog->debug() << "socketserverpath: " << gSocketServerPath.toUtf8(); - qxtLog->debug() << "pathtoexe: " << gPathToDhcpExe.toUtf8(); - qxtLog->debug() << "*******************************************"; - - // set invisible cursor - //QWSServer::instance()->setCursorVisible(false); - - // set default keyboard / mouse drivers. TODO: fix this, doesn't work... - //QWSServer::instance()->setDefaultKeyboard("TTY:/dev/tty0"); - //QWSServer::instance()->setDefaultMouse("IntelliMouse:/dev/mice"); - - - // start ndgui - qxtLog->debug() << "Initializing ndgui..."; - ndgui ngui; - fbgui gui; - - QObject::connect(&ngui, SIGNAL(initFbgui()), &gui, SLOT(init())); - ngui.show(); - return app.exec(); -} -- cgit v1.2.3-55-g7522