diff options
author | Kalle Viironen <kalle.viironen@digia.com> | 2014-05-26 13:53:13 +0300 |
---|---|---|
committer | Kalle Viironen <kalle.viironen@digia.com> | 2014-05-26 13:53:20 +0300 |
commit | 5cdc15a7b82b7adfd4c5cae85ffb4327593dd076 (patch) | |
tree | 342fa9523f5400f4ecbcf6fde169021fabaff500 /src/imports/wifi/pluginmain.cpp | |
parent | 9627172876cd2a387d44b5a9a6ce0a3867ebc730 (diff) | |
parent | 5c160b6fe916e5605eaa1fd8394b62527ff9f997 (diff) |
Merge branch 'stable' into releaseQtEE_v3.0.0
* stable: (25 commits)
Add notes about Quick Compiler failures
doc: Updated versions and supported platforms
doc: Updated links to Qt EE known issues and product page
Doc: Warn the user that his Nexus will be wiped.
doc: move adb connection change info to customization
Build wifi also on eLinux
Don't show Wi-Fi group box on iMX6-eAndroid
Fix class names for WebEngine
Doc: add note about webengine's widget apis
Doc: add change log for version 3.0.0
doc: include sabre sd documentation
Doc: Add setup instructions for Nexus 7 (2013)
Set initial "backend ready" state.
Port QtWifi to eLinux
Add a note about webengine and emulator
Doc: Update version
Doc: Add table with all possible MACHINE values
Doc: QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS replaces QT_QPA_GENERIC_PLUGINS
Doc: Use precise naming for Boundary Devices i.MX6
Add PowerManager service.
...
Change-Id: I2762dfe023d461b677d7ed748c33444145d35175
Diffstat (limited to 'src/imports/wifi/pluginmain.cpp')
-rw-r--r-- | src/imports/wifi/pluginmain.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/imports/wifi/pluginmain.cpp b/src/imports/wifi/pluginmain.cpp index fdf07e9..51a2e7c 100644 --- a/src/imports/wifi/pluginmain.cpp +++ b/src/imports/wifi/pluginmain.cpp @@ -19,12 +19,14 @@ #include "qwifimanager.h" #include <QtCore/QDir> +#include <QtCore/QDebug> #include <QtCore/QByteArray> #include <QtQml/QQmlExtensionPlugin> #include <QtQml/qqml.h> +#ifdef Q_OS_ANDROID #include <hardware_legacy/wifi.h> - +#endif /*! \qmltype Interface \inqmlmodule Qt.labs.wifi @@ -64,20 +66,19 @@ public: Q_INVOKABLE bool wifiSupported() const { - bool supported = false; - if (wifi_load_driver() == 0 && wifi_start_supplicant(0) == 0) { - char interface[PROPERTY_VALUE_MAX]; - property_get("wifi.interface", interface, NULL); - // standard linux kernel path - QByteArray path; - path.append("/sys/class/net/").append(interface); - supported = QDir().exists(path.constData()); - if (!supported) - qWarning() << "QWifiGlobal: could not find wifi interface in " << path; + bool hasInterface = QDir().exists(QStringLiteral("/sys/class/net/wlan0")); + if (!hasInterface) + qWarning() << "QWifiGlobal: could not find wifi interface in /sys/class/net/"; +#ifdef Q_OS_ANDROID + if (hasInterface && wifi_load_driver() == 0 && wifi_start_supplicant(0) == 0) { + return true; } else { qWarning() << "QWifiGlobal: wifi driver is not available"; + return false; } - return supported; +#else + return hasInterface; +#endif } }; |