summaryrefslogtreecommitdiffstats
path: root/src/fbgui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/fbgui.h')
-rw-r--r--src/fbgui.h159
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