Windows 7 - fix nativewifi bearer plugin
The plugin code only handled the 2 events from windows XP, while there are more events defined on vista/7. As the scan complete event was being ignored, updates did not complete. Task-number: QTBUG-24503 Change-Id: Ib1fd6883b0fd6962f61dab7830e577b9292163ef Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
This commit is contained in:
parent
ba2f772dff
commit
b45f0418e3
@ -45,8 +45,11 @@
|
|||||||
#include <wtypes.h>
|
#include <wtypes.h>
|
||||||
#undef interface
|
#undef interface
|
||||||
|
|
||||||
|
//proper header is wlanapi.h, but that is not included in windows XP
|
||||||
|
|
||||||
#define WLAN_MAX_NAME_LENGTH 256
|
#define WLAN_MAX_NAME_LENGTH 256
|
||||||
#define WLAN_MAX_PHY_TYPE_NUMBER 8
|
#define WLAN_MAX_PHY_TYPE_NUMBER 8
|
||||||
|
#define WLAN_NOTIFICATION_SOURCE_ACM 0x00000008
|
||||||
#define WLAN_NOTIFICATION_SOURCE_ALL 0x0000ffff
|
#define WLAN_NOTIFICATION_SOURCE_ALL 0x0000ffff
|
||||||
#define WLAN_AVAILABLE_NETWORK_CONNECTED 1
|
#define WLAN_AVAILABLE_NETWORK_CONNECTED 1
|
||||||
#define WLAN_AVAILABLE_NETWORK_HAS_PROFILE 2
|
#define WLAN_AVAILABLE_NETWORK_HAS_PROFILE 2
|
||||||
|
@ -69,13 +69,24 @@ void qNotificationCallback(WLAN_NOTIFICATION_DATA *data, QNativeWifiEngine *d)
|
|||||||
{
|
{
|
||||||
Q_UNUSED(d);
|
Q_UNUSED(d);
|
||||||
|
|
||||||
switch (data->NotificationCode) {
|
if (data->NotificationSource == WLAN_NOTIFICATION_SOURCE_ACM) {
|
||||||
case wlan_notification_acm_connection_complete:
|
switch (data->NotificationCode) {
|
||||||
case wlan_notification_acm_disconnected:
|
case wlan_notification_acm_connection_complete:
|
||||||
QMetaObject::invokeMethod(d, "scanComplete", Qt::QueuedConnection);
|
case wlan_notification_acm_disconnected:
|
||||||
break;
|
case wlan_notification_acm_scan_complete:
|
||||||
default:
|
case wlan_notification_acm_scan_fail:
|
||||||
;
|
QMetaObject::invokeMethod(d, "scanComplete", Qt::QueuedConnection);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
#ifdef BEARER_MANAGEMENT_DEBUG
|
||||||
|
qDebug() << "wlan acm notification" << (int)data->NotificationCode;
|
||||||
|
#endif
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
#ifdef BEARER_MANAGEMENT_DEBUG
|
||||||
|
qDebug() << "wlan notification source" << (int)data->NotificationSource << "code" << (int)data->NotificationCode;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user