summaryrefslogtreecommitdiffstats
path: root/src/imports/wifi/pluginmain.cpp
diff options
context:
space:
mode:
authorKalle Viironen <kalle.viironen@digia.com>2014-05-26 13:53:13 +0300
committerKalle Viironen <kalle.viironen@digia.com>2014-05-26 13:53:20 +0300
commit5cdc15a7b82b7adfd4c5cae85ffb4327593dd076 (patch)
tree342fa9523f5400f4ecbcf6fde169021fabaff500 /src/imports/wifi/pluginmain.cpp
parent9627172876cd2a387d44b5a9a6ce0a3867ebc730 (diff)
parent5c160b6fe916e5605eaa1fd8394b62527ff9f997 (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.cpp25
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
}
};