Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-65586

Improve Bearer Plugins




      Before Qt 5.9.3, Qt shipped with two types of bearer plugin (on macOS and Windows):

      • Generic, which enumerates network interfaces
      • WiFi, which enumerates WiFi networks

      The WiFi enumeration turned out to be disruptive, and the WiFi plugin has now been disabled. This is not believed to have any effect on bearer management, since in practice the Generic plugin was preferred. See QTBUG-40332.

      However, the Generic plugin is also not working optimally due to the fact that it tends to always report that there is at least one active interface - even if the system does not have general network connectivity. This is due to the presence of special-purpose interfaces such as tunneling interfaces and the Apple Wireless Direct Link (iDevice peer-to-peer) interface.

      We should develop new bearer plugins that use native connectivity APIs, and replace the generic plugin on the Apple platforms and Windows.

      The end goal is to make QNetworkAccessManager::networkAccessible() work. It should return "Accessible" if the system is connected to either ethernet or wifi. It should return NotAccessible if the device is in airplane mode. (The function goes as far as the local network, and does not determine if the internet is reachable.)

      Native API:

      • Windows:INetworkListManager::get_IsConnected, INetworkEvents::NetworkConnectivityChanged
      • macOS,iOS: Reachability


        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.



              manordheim Mårten Nordheim
              sorvig Morten Sørvig
              17 Vote for this issue
              29 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes