summaryrefslogtreecommitdiffstats
path: root/src/wifi/qwificontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wifi/qwificontroller.cpp')
-rw-r--r--src/wifi/qwificontroller.cpp30
1 files changed, 9 insertions, 21 deletions
diff --git a/src/wifi/qwificontroller.cpp b/src/wifi/qwificontroller.cpp
index f63b554..216c70c 100644
--- a/src/wifi/qwificontroller.cpp
+++ b/src/wifi/qwificontroller.cpp
@@ -129,21 +129,6 @@ QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(B2QT_WIFI, "qt.b2qt.wifi")
-class QWifiManagerEvent : public QEvent
-{
-public:
- QWifiManagerEvent(QEvent::Type type, const QByteArray &data = QByteArray())
- : QEvent(type)
- , m_data(data)
- {
- }
-
- QByteArray data() const { return m_data; }
-
-private:
- QByteArray m_data;
-};
-
class QWifiEventThread : public QThread
{
public:
@@ -155,7 +140,7 @@ public:
void run() {
qCDebug(B2QT_WIFI) << "running wifi event thread";
- QWifiManagerEvent *event = 0;
+ QWifiEvent *event = 0;
char buffer[2048];
forever {
int size = q_wifi_wait_for_event(m_interface, buffer, sizeof(buffer) - 1);
@@ -163,21 +148,24 @@ public:
buffer[size] = 0;
event = 0;
qCDebug(B2QT_WIFI) << "[event]: " << buffer;
+
if (m_controller->isWifiThreadExitRequested()) {
qCDebug(B2QT_WIFI) << "exit wifi event thread";
return;
}
+
if (strstr(buffer, "SCAN-RESULTS")) {
- event = new QWifiManagerEvent(WIFI_SCAN_RESULTS);
+ event = new QWifiEvent(WIFI_SCAN_RESULTS);
} else if (strstr(buffer, "CTRL-EVENT-CONNECTED")) {
- event = new QWifiManagerEvent(WIFI_CONNECTED);
+ event = new QWifiEvent(WIFI_CONNECTED);
} else if (strstr(buffer, "CTRL-EVENT-DISCONNECTED")) {
- event = new QWifiManagerEvent(WIFI_DISCONNECTED);
+ event = new QWifiEvent(WIFI_DISCONNECTED);
} else if (strstr(buffer, "Trying to associate")) {
- event = new QWifiManagerEvent(WIFI_AUTHENTICATING);
+ event = new QWifiEvent(WIFI_AUTHENTICATING, QLatin1String(buffer));
} else if (strstr(buffer, "Handshake failed")) {
- event = new QWifiManagerEvent(WIFI_HANDSHAKE_FAILED);
+ event = new QWifiEvent(WIFI_HANDSHAKE_FAILED);
}
+
if (event)
QCoreApplication::postEvent(m_controller->wifiManager(), event);
}