From b8fbb02240da7ce471f5b62fdb46c581d94b5335 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:10:55 +0200 Subject: adding files of the renamed directory --- NetworkDiscovery/networkdiscovery.h | 110 ++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 NetworkDiscovery/networkdiscovery.h (limited to 'NetworkDiscovery/networkdiscovery.h') diff --git a/NetworkDiscovery/networkdiscovery.h b/NetworkDiscovery/networkdiscovery.h new file mode 100644 index 0000000..8b1c70f --- /dev/null +++ b/NetworkDiscovery/networkdiscovery.h @@ -0,0 +1,110 @@ +#ifndef NetworkDiscovery_H +#define NetworkDiscovery_H + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "interfaceconfiguration.h" +#include "networkmanager.h" + +#include "../common/fbgui.h" + +#include "dhcp.h" + + + +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" + +class NetworkDiscovery: public QObject { +Q_OBJECT + +public: + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverIp, bool userChoice, + bool autoUp, + QString pathToLogFile, + QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + + int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + + void slotReadyForRun(); + + void checkForIsRunning(); + + +signals: + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(QString ifName); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + void continueBoot(QString ifName, int userChoice); + void setManualConfInterfaces(QString jsonArr); + + void readyForRun(); + +private: + QString _tag; + QLocalServer *_server; + QMap _clients; + QLocalSocket * _client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; + bool _userChoice; + bool _blocked; + bool _autoUp; + QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + int _ifUpCountdown; + QTimer* _timer; + + QMap _ifcMap; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + + bool checkCarrierState(QString interface); + bool checkConnectivity(QString ifName); + bool checkConnectivityViaTcp(QString server); + bool checkBlackList(QString i); + + void getListOfNetworkInterfaces(); + void getListOfNetworkInterfacesWithAutoUp(); + + +}; + +#endif // NetworkDiscovery_H -- cgit v1.2.3-55-g7522