Index: sources/wifi/WifiInterface.h =================================================================== diff -u -r66506a15ac0234c0a2fcf78d3262fdb91c51cbca -r87ca1f6fca153e2ac05425d2dc5937d5a46ba206 --- sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision 66506a15ac0234c0a2fcf78d3262fdb91c51cbca) +++ sources/wifi/WifiInterface.h (.../WifiInterface.h) (revision 87ca1f6fca153e2ac05425d2dc5937d5a46ba206) @@ -38,6 +38,8 @@ * - Scans for Access Points * - Authenticates with Access Points * - Disconnects from Access Points + * - Requires that both antennas are attached + * to the HD board to properly scan and find Wi-Fi networks */ class WifiInterface : public QObject { @@ -48,7 +50,10 @@ QThread *_thread = nullptr; bool _init = false; bool _scanRunning = false; - bool _useDHCP = true; + bool _useStaticIP = false; + bool _useStaticGateway = false; + bool _useStaticSubnetMask = false; + bool _useStaticDNS = false; int _defaultTimeout = 5000; int _dhcpTimeout = 10000; int _scanTimeout = 30000; @@ -66,11 +71,13 @@ QProcess _processSetStaticGateway; QProcess _processSetStaticSubnetMask; QProcess _processSetDNS; + QProcess _processTestInternet; WifiNetworkData _network; const QString _scriptsFolder = Storage::Scripts_Path_Name; const QString _iface = "wlan0"; const QString _wpaSupplicantConfPath = "/etc/wpa_supplicant.conf"; + static const int _internetCheckTimerInterval = 10000; // ms // Singleton SINGLETON(WifiInterface) @@ -119,11 +126,12 @@ void didBusyChanged ( bool vBusy); void didStatusChanged (const QString &vNewStatus ); void didRequestAutoAssignedIP (); + void didInternetConnectionChange(const bool &vConnected); // static IP address settings - void didSetStaticIPAddress (); - void didSetGateway (); - void didSetSubnetMask (); - void didSetDNS (); + void didSetStaticIPAddress (const QString &); + void didSetGateway (const QString &); + void didSetSubnetMask (const QString &); + void didSetDNS (const QString &); // emitted from separate threads void didScanStatusChanged ( bool ); @@ -134,17 +142,19 @@ void quit(); void onStart(); void onStatusChanged(const QString &vMessage); + void timerEvent(QTimerEvent *); void onRequestAutoAssignedIP(); - void onProcessFinishedScan (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedReadIP (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedReadGateway (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedReadDNS (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedGenerateWPASupplicant (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedStartWPASupplicant (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedRequestAutoAssignedIP (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedDisconnectNetwork (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedSetIPAddress (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedSetGateway (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedSetSubnetMask (int vExitCode, QProcess::ExitStatus vExitStatus); - void onProcessFinishedSetDNS (int vExitCode, QProcess::ExitStatus vExitStatus); + void onProcessFinishedScan (int, QProcess::ExitStatus); + void onProcessFinishedReadIP (int, QProcess::ExitStatus); + void onProcessFinishedReadGateway (int, QProcess::ExitStatus); + void onProcessFinishedReadDNS (int, QProcess::ExitStatus); + void onProcessFinishedGenerateWPASupplicant (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedStartWPASupplicant (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedRequestAutoAssignedIP (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedDisconnectNetwork (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedTestInternet (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedSetIPAddress (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedSetGateway (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedSetSubnetMask (int vExitCode, QProcess::ExitStatus); + void onProcessFinishedSetDNS (int vExitCode, QProcess::ExitStatus); };