summaryrefslogtreecommitdiffstats
path: root/NetworkDiscovery/ndgui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'NetworkDiscovery/ndgui.cpp')
-rw-r--r--NetworkDiscovery/ndgui.cpp385
1 files changed, 0 insertions, 385 deletions
diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp
deleted file mode 100644
index a1ccecb..0000000
--- a/NetworkDiscovery/ndgui.cpp
+++ /dev/null
@@ -1,385 +0,0 @@
-#include "ndgui.h"
-
-ndgui::ndgui(QMainWindow *parent) :
- QMainWindow(parent) {
-
- _tag = "[nd:ndgui]";
-
- _started = false;
- _userChoice = false;
- _tryAgain = false;
-
- createAction();
-
- connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &)));
- connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&)));
- connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString)));
- connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString)));
- connect(&networkDiscovery, SIGNAL(updateIfStatus(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &)));
- connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished()));
- connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int)));
-
- _webView = new QWebView(this);
- connect(_webView->page()->mainFrame(), SIGNAL(
- javaScriptWindowObjectCleared()), this, SLOT(attachToDOM()));
- setCentralWidget(_webView);
- setWindowTitle(tr("NetD"));
- setAttribute(Qt::WA_QuitOnClose, true);
- setWindowFlags(Qt::FramelessWindowHint);
-
- _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html"));
- _webView->show();
-
- qDebug() << _tag << "start singel shot";
- QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover()));
-
-}
-
-
-
-ndgui::~ndgui() {
-
-}
-
-
-
-/**
- * creates an action which you can trigger with the F5 Button during the first
- * seconds.
- */
-void ndgui::createAction() {
- _allowUserChoice = new QAction(tr("&quit"), this);
- _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5));
- connect(_allowUserChoice, SIGNAL(triggered()), this, SLOT(setUserChoiceTrue()));
- this->addAction(_allowUserChoice);
-}
-
-
-
-/**
- * is the connected to the triggered action pressing the F5 button.
- * set the _userChoice member true
- */
-void ndgui::setUserChoiceTrue() {
- _userChoice = true;
-}
-
-
-
-/**
- * is connected to the singleShot event. Triggering this method means
- * that we go on with the main NetworkDiscovery screen.
- * connects the loadFinished signal of the _webView with the
- * startNetworkDiscovery slot and removes the
- * action.
- */
-void ndgui::prepareNetworkDiscover() {
- connect(_webView, SIGNAL(loadFinished(bool)), this,
- SLOT(startNetworkDiscovery()));
- this->removeAction(_allowUserChoice);
-
- _webView->load(QUrl("qrc:html/networkdiscovery.html"));
- _webView->show();
-}
-
-
-
-/**
- * main starting point of the whole procedure.
- * disconnect the loadFinished signal with the startNetworkDiscovery
- * and starts the networkDiscovery.
- */
-void ndgui::startNetworkDiscovery(){
-
- disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery()));
- if(!_started) {
- if (!_tryAgain) {
- _started = true;
- QStringList l;
- l << "-d";
- networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom", DEFAULT_PATHTODHCPCDEXE, &l);
- } else {
- _tryAgain = false;
- networkDiscovery.tryAgain();
- }
- }
- else {
- qDebug() << _tag << "NetworkDiscovery already started";
- }
-}
-
-
-
-/**
- * if we have a user choice (_userChoice = true) than networkDiscovery will
- * emit connectionEstablished signals.
- * Add the interface name to a _ifNameList. This list holds all interfaces
- * the user can choose out of.
- */
-void ndgui::handleConnectionEstablished(QString ifName) {
- _ifNameList.append(ifName);
-}
-
-
-
-/**
- * if we have a user choice (_userChoice = true) than networkDiscovery will
- * emit a allProcessesFinished signal if all processes are done.
- * This method determines if user will see an abort boot dialog (no interface names in
- * the ifNameList list) or an
- * choose interface dialog (one or more interface names in the list (add with
- * handleConnectionEstablished)).
- */
-void ndgui::handleAllProcessesFinished() {
- qDebug() << _tag << "all Processes finished";
- if(_ifNameList.size() > 0) {
- QString jsonArr = "[";
- for(int i = 0; i < _ifNameList.size()-1; i++) {
- jsonArr += "\"" + _ifNameList.value(i) + "\",";
- }
- jsonArr += "\"" + _ifNameList.last() + "\"]";
- chooseInterfaceDialog(jsonArr);
- } else {
- abortBoot("No usable interfaces found!");
- }
-}
-
-
-
-/**
- * this method will restart the system.
- * triggered through a button click in the gui.
- */
-void ndgui::restartSystem() {
-
-}
-
-
-
-/**
- * this method will restart the system.
- * triggered through a button click in the gui.
- */
-void ndgui::shutDownSystem() {
-
-}
-
-
-
-/**
- * represents the end of the NetworkDiscovery life time.
- * will start the fbgui screen. All networkDiscovery signals
- * will be ignored after this point.
- */
-void ndgui::continueBoot(QString ifName, int userChoice) {
- if (!userChoice) {
- QString text = "continue with interface: " + ifName;
- qDebug() << _tag << text << "no user choice";
- } else {
- QString text = "continue with interface: " + ifName;
- qDebug() << _tag << text << "with user choice";
- QString gateway = networkDiscovery.getGatewayForInterface(ifName);
- networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0);
- }
- if (networkDiscovery.checkConnectivityViaTcp()) {
- _webView->load(QUrl("qrc:html/continueBoot.html"));
- } else {
- abortBoot("Interface was suddenly made unusable ");
- }
-}
-
-
-
-/**
- * read the log file. Log File will be presented inside of a dialog.
- */
-QString ndgui::readLogFile() {
- qDebug() << _tag << " show log ";
- return networkDiscovery.readLogFile();
-}
-
-
-
-/**/
-void ndgui::tryAgain() {
- qDebug() << _tag << " try again ";
- _tryAgain = true;
- _started = false;
- _ifNameList.clear();
- _manConfList.clear();
- createAction();
- _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html"));
- _webView->show();
-
- QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover()));
-}
-
-
-
-/*test html gui version*/
-
-/**
- * fills the drop down box of the manual interface configuration
- * dialog.
- */
-QVariantList ndgui::getManualConfInterfaces() {
- qDebug() << _tag << "call getManualConfInterfaces";
- QVariantList jsonArr;
- foreach (QString s, _manConfList) {
- QVariant e(s);
- jsonArr << e;
- }
- qDebug() << _tag << "value of jsonArr:" << jsonArr;
- return jsonArr;
-}
-
-
-
-/**
- * takes the entered manual configuration dates and delivers it
- * to the networkDiscovery for further actions.
- */
-int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) {
- return networkDiscovery.ip4_setManualConfiguration(jsonArr);
-
-}
-
-
-
-/* slots */
-/************************************************/
-//////////////////////////////////////////////////
-/************************************************/
-
-/**
- * stellt ein ndgui/fbgui Objekt zur verwendung durch die html bereit.
- */
-void ndgui::attachToDOM(){
- _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this);
- loadJQuery();
-}
-
-
-
-void ndgui::loadJQuery() {
- QString js;
- QString pathToJsDir(":/html");
- pathToJsDir.append("/js");
-
- QDir qrcJSDir(pathToJsDir);
- QFileInfoList fiList = qrcJSDir.entryInfoList();
- QFileInfo fi;
- foreach(fi, fiList)
- {
- if (fi.suffix() == "js") {
- //qDebug()<< fi.fileName();
- //qxtLog->debug() << fi.fileName();
- //if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") {
- QFile file;
- file.setFileName(pathToJsDir + "/" + fi.fileName());
- file.open(QIODevice::ReadOnly);
- js = file.readAll();
- file.close();
-
- _webView->page()->mainFrame()->evaluateJavaScript(js);
- //qxtLog->debug() << "evaluated " + fi.fileName();
- //}
- }
- }
-}
-
-
-
-//diese methoden müssen später in die javascriptInterface Klasse eingefügt werden.
-
-// dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden
-// tausche dazu ndgui zu javascriptinterface
-// und _webView->page()->mainFrame() zu _parent
-
-void ndgui::abortBoot(const QString msg) {
- QString code = QString("abortBootDialog('\%1')").arg(msg);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * opens ths chooseInterfaceDialog
- */
-void ndgui::chooseInterfaceDialog(const QString msg) {
- QString code = QString("chooseInterfaceDialog(\%1)").arg(msg);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * updates the over all status
- */
-void ndgui::updateStatus(const QString &status) {
- if (status == "")
- return;
- QString code = QString("updateStatus('\%1')").arg(status);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * updates the progress bar for each interface.
- *
- * @param ifname
- * the name ot the interface to update
- *
- * @param percent
- * the progress in percent
- */
-void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) {
- if (percent == 0)
- return;
- QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * update the status for each interface
- *
- * @param ifName
- * the name ot the interface to update
- *
- * @param status
- * the new status of the interface.
- */
-void ndgui::updateIfStatus(const QString &ifName, const QString &status) {
- if (ifName == "")
- return;
- QString code = QString("updateIfStatus('\%1','\%2')").arg(ifName).arg(status);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * adds an interface to the DOM tree. Creates its progress bar and it's status label.
- *
- * @param ifName
- * name of the new interface.
- */
-void ndgui::addInterface(const QString &ifName) {
- if (ifName == "")
- return;
- _manConfList.append(ifName);
- QString code = QString("addInterface('\%1')").arg(ifName);
- _webView->page()->mainFrame()->evaluateJavaScript(code);
-}
-
-
-
-/**
- * just for debugging.
- */
-void ndgui::notifyCall(QString msg){
- qDebug() << _tag << "------ called:" << msg;
-}