Index: sources/wifi/WifiInterface.h =================================================================== diff -u -r2085962f7bd0a2239ee5c857928a11d5e38fe0a2 -rc77365fa76422bc2150e58d483c446325b50f4b8 --- sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision 2085962f7bd0a2239ee5c857928a11d5e38fe0a2) +++ sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision c77365fa76422bc2150e58d483c446325b50f4b8) @@ -27,11 +27,8 @@ bool _init = false; bool _scanRunning = false; int _defaultTimeout = 5000; - int _dhcpTimeout = 10000; - QProcess _processScan; - QProcess _processJoinNetwork; - QProcess _processGetIPAddress; - Network _network; + int _dhcpTimeout = 10000; + int _scanTimeout = 30000; const QString _iface = "wlan0"; const QString _wpaSupplicantConfPath = "/etc/wpa_supplicant.conf"; @@ -43,7 +40,8 @@ private: bool generateWPASupplicant(const Network &vNetwork, const QString &vPassword); bool startWPASupplicant(); - bool requestAutoAssignedIP(); + bool requestAutoAssignedIP(int vTries = 4); + Network::IPSettings getIPSettings(); QString readIPSettings(); QString readGateway(); QString readDNS(); @@ -60,16 +58,19 @@ bool doInit(); void doScan(); void doJoinNetwork(const Network &vNetwork, const QString &vPassword); + void doDisconnectNetwork(const Network &vNetwork); + void doRequestIPSettings(); signals: void didAddNetwork(const Network); void didScanStatusChanged(const bool); void didConnectToNetwork(const Network); - void didFailToConnect(const QString); + void didDisconnectNetwork(const Network); + void didError(const QString); + void didGetIPSettings(const Network::IPSettings); private slots: void onQuit(); - void onScanFinished(int, QProcess::ExitStatus); void onParseWifiScan(const QString &vOutput); void onLogFailure(const QString &vMessage); };