diff options
| author | Niklas | 2011-06-28 10:51:08 +0200 |
|---|---|---|
| committer | Niklas | 2011-06-28 10:51:08 +0200 |
| commit | 2842ca3160966ed1633f9d6605531e18b435de61 (patch) | |
| tree | d705e55b3307985da28307e24b7ac33a0e024cce /src/fbgui.h | |
| parent | added the networkDiscovery project into a new workspace folder (diff) | |
| parent | build.sh dummy (diff) | |
| download | fbgui-2842ca3160966ed1633f9d6605531e18b435de61.tar.gz fbgui-2842ca3160966ed1633f9d6605531e18b435de61.tar.xz fbgui-2842ca3160966ed1633f9d6605531e18b435de61.zip | |
Merge branch 'master' of git.openslx.org:lsfks/projekte/fbgui
Diffstat (limited to 'src/fbgui.h')
| -rw-r--r-- | src/fbgui.h | 159 |
1 files changed, 82 insertions, 77 deletions
diff --git a/src/fbgui.h b/src/fbgui.h index 891e17a..35197d8 100644 --- a/src/fbgui.h +++ b/src/fbgui.h @@ -1,19 +1,19 @@ /* - # Copyright (c) 2010,2011 - RZ Uni Freiburg - # Copyright (c) 2010,2011 - OpenSLX Project - # - # This program/file is free software distributed under the GPL version 2. - # See http://openslx.org/COPYING - # - # If you have any feedback please consult http://openslx.org/feedback and - # send your feedback to feedback@openslx.org - # - # General information about OpenSLX can be found under http://openslx.org - # - # - # Main class of the fbgui: - # - Manages display of components and their communications - # + * Copyright (c) 2010,2011 - RZ Uni Freiburg + * Copyright (c) 2010,2011 - OpenSLX Project + * + * This program/file is free software distributed under the GPL version 2. + * See http://openslx.org/COPYING + * + * If you have any feedback please consult http://openslx.org/feedback and + * send your feedback to feedback@openslx.org + * + * General information about OpenSLX can be found under http://openslx.org + * + * + * Main class of the fbgui: + * - Manages display of components and their communications + * */ #ifndef FBGUI_H @@ -26,13 +26,15 @@ // Internal default settings #define DEFAULT_URL "http://www.google.com" -#define DEFAULT_DOWNLOAD_DIR "/tmp/fbgui/downloads" +#define DEFAULT_DOWNLOAD_DIR "/tmp/fbgui" #define DEFAULT_CONFIG_PATH "/etc/fbgui.conf" +#define DEFAULT_LOG_FILE_PATH "/tmp/fbgui.log" #define DEFAULT_UPDATE_INTERVAL 1; #define DEFAULT_QRC_HTML_DIR ":/html" #define DEFAULT_FILE_TRIGGER "/tmp/fbgui/trigger" // Global settings variables +extern QString logFilePath; extern QString ipConfigFilePath; extern QThread dmThread; extern QString serialLocation; @@ -44,75 +46,78 @@ extern QUrl baseURL; extern int debugMode; extern int updateInterval; - class fbgui: public QMainWindow { Q_OBJECT public: - fbgui(); - ~fbgui(); + fbgui(); + ~fbgui(); private: - //------------------- - // layout setup: - //------------------- - // Sets the layout depending on the debug mode: - // no debug or debugMode = 0 -> only browser shown. - // debugMode = 1 -> split main window in browser and debug console. - void setupLayout(); - // Create all actions for the GUI. (Currently only quit.) - void createActions(); - // Create a debug console widget as QTextEdit in order to print debug messages - // directly within the GUI. This was needed since ttys can't really be used - // for debugging purposes in the preboot environment. - void createDebugConsole(); - - //---------------------------------------- - // control the display of components: - //---------------------------------------- - // watches for the file triggering the loading of the URL. - // the file can be specified by the corresponding option. - void watchForTrigger(); - bool checkHost() const; - void loadURL(); - QByteArray generatePOSTData(); - - //---------------------------------- - // widgets constituing the gui: - //---------------------------------- - // QWebView for displaying internet content - QWebView* _webView; - // QSplitter to split the main window in two resizable frames. - QSplitter* _splitter; - // QTextEdit implementing a minimalistic debug console. - QTextEdit* _debugConsole; - - //------------------ - // action list: - //------------------ - // closes the main window provoking the application to quit. - QAction* _quit; - // triggers toggleDebugConsole() - QAction* _toggleDebugConsole; - - // watcher to detect changes in the observed directory. - QFileSystemWatcher* _watcher; + //------------------- + // layout setup: + //------------------- + // Sets the layout depending on the debug mode: + // no debug or debugMode = 0 -> only browser shown. + // debugMode = 1 -> split main window in browser and debug console. + void setupLayout(); + // Create all actions for the GUI. (Currently only quit.) + void createActions(); + // Create a debug console widget as QTextEdit in order to print debug messages + // directly within the GUI. This was needed since ttys can't really be used + // for debugging purposes in the preboot environment. + void createDebugConsole(); + + //---------------------------------------- + // control the display of components: + //---------------------------------------- + // watches for the file triggering the loading of the URL. + // the file can be specified by the corresponding option. + void watchForTrigger(); + bool checkHost() const; + void loadURL(); + QByteArray generatePOSTData(); + + //---------------------------------- + // widgets constituing the gui: + //---------------------------------- + // QWebView for displaying internet content + QWebView* _webView; + // QSplitter to split the main window in two resizable frames. + QSplitter* _splitter; + // QTextEdit implementing a minimalistic debug console. + QTextEdit* _debugConsole; + + //------------------ + // action list: + //------------------ + // closes the main window provoking the application to quit. + QAction* _quit; + // triggers toggleDebugConsole() + QAction* _toggleDebugConsole; + + // watcher to detect changes in the observed directory. + QFileSystemWatcher* _watcher; private slots: - // toggles debug console when action _toggleDebugConsole happens. - void toggleDebugConsole(); - - // triggered by fileChanged Signal of _watcher - // deletes _watcher, since we don't need it anymore and tries to load URL. - void prepareURLLoad(); - - // shut off the system - void performShutDown(); - // reboot the system - void performReboot(); - // prepareKexec - void prepareKexec(); - void runKexec(); + // toggles debug console when action _toggleDebugConsole happens. + void toggleDebugConsole(); + + // This function is triggered by fileChanged Signal of _watcher. + // It deletes _watcher, since we don't need it anymore and tries to load URL. + void prepareURLLoad(); + void loadURLDone(bool success); + + // shut off the system + void performShutDown(); + // reboot the system + void performReboot(); + // shows "loading system" page + void loadSystem(); + // prepares kexec by loading downloaded initramfs, kernel into kexec + void prepareKexec(); + // executes: kexec -e + void runKexec(); }; #endif // FBGUI_H |
