From 0216e9aadb7e794037d3cf553b05474de8322a74 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 23 Sep 2011 14:08:55 +0200 Subject: renamed the logreceiver to networkdiscovery and deleted the abortbootdialog and chooseinterfacedialog since this is now implemented via html/css/jquery --- LogReceiver/networkdiscovery.h | 98 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 LogReceiver/networkdiscovery.h (limited to 'LogReceiver/networkdiscovery.h') diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h new file mode 100644 index 0000000..9a1441d --- /dev/null +++ b/LogReceiver/networkdiscovery.h @@ -0,0 +1,98 @@ +#ifndef NetworkDiscovery_H +#define NetworkDiscovery_H + +//#include +#include +#include +//#include + +#include +#include +#include +#include +#include +#include + +#include "interfaceconfiguration.h" +#include "routemanager.h" +//#include +//#include +#include "status.h" +#include "dhcp.h" +#include "interface.h" + +//#include +//#include +//#include +//#include +//#include +#include +//#include +#include + + +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" +#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" +#define ACK_SIZE 4 + +class NetworkDiscovery: public QObject { +Q_OBJECT + +public: + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + +signals: + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(interfaceconfiguration *ifConf); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + void continueBoot(QString ifName, bool userChoice); + +private: + QLocalServer *server; + quint16 blockSize; + //QMap interfacesMap; + //QMap indexToIfaceNameMap; + QMap clients; + QLocalSocket * client; + QMap ifNameToClient; + QMap clientProcessToIfNameMap; + QString pathToDhcpcdExe; + QStringList dhcpcdArguments; + QNetworkConfigurationManager configurationManager; + QNetworkAccessManager *accessManager; + int numberOfProcesses; + routemanager rm; + bool _userChoice; + bool _blocked; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + QListcheckCarrierState(QList &interfaces); + bool checkCarrierState(QString interface); + bool checkConnectivity(QString ifName); + QList getListOfNetworkInterfaces(); + bool checkBlackList(QString i); + +}; + +#endif // NetworkDiscovery_H -- cgit v1.2.3-55-g7522