4#include <QtNetwork/private/qnetworkinformation_p.h> 
    8#include <QtCore/qglobal.h> 
    9#include <QtCore/private/qobject_p.h> 
   10#include <QtCore/qscopeguard.h> 
   12#include <QtCore/private/qfunctions_win_p.h> 
   26bool testCONNECTIVITY(NLM_CONNECTIVITY connectivity, NLM_CONNECTIVITY flag)
 
   28    return (connectivity & flag) == flag;
 
   33    if (connectivity == NLM_CONNECTIVITY_DISCONNECTED)
 
   35    if (testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV6_INTERNET)
 
   36        || testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV4_INTERNET)) {
 
   39    if (testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV6_SUBNET)
 
   40        || testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV4_SUBNET)) {
 
   43    if (testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV6_LOCALNETWORK)
 
   44        || testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV4_LOCALNETWORK)) {
 
   47    if (testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV6_NOTRAFFIC)
 
   48        || testCONNECTIVITY(connectivity, NLM_CONNECTIVITY_IPV4_NOTRAFFIC)) {
 
   79    [[nodiscard]] 
bool start();
 
   84    void setConnectivity(NLM_CONNECTIVITY newConnectivity);
 
   85    void checkCaptivePortal();
 
   91    NLM_CONNECTIVITY connectivity = NLM_CONNECTIVITY_DISCONNECTED;
 
   93    bool monitoring = 
false;
 
  111    create(QNetworkInformation::Features requiredFeatures)
 const override 
  116        if (!backend->start()) {
 
  117            qCWarning(lcNetInfoNLM) << 
"Failed to start listening to events";
 
  127    if (!comHelper.isValid())
 
  132            &QNetworkListManagerNetworkInformationBackend::setConnectivity);
 
  146void QNetworkListManagerNetworkInformationBackend::setConnectivity(NLM_CONNECTIVITY newConnectivity)
 
  148    if (reachabilityFromNLM_CONNECTIVITY(connectivity)
 
  149        != reachabilityFromNLM_CONNECTIVITY(newConnectivity)) {
 
  150        connectivity = newConnectivity;
 
  154        checkCaptivePortal();
 
  158void QNetworkListManagerNetworkInformationBackend::checkCaptivePortal()
 
  166        qFatal(
"Moving QNetworkListManagerNetworkInformationBackend to different thread is not supported");
 
  175    if (!comHelper.isValid())
 
  181    if (managerEvents->start())
 
  190        managerEvents->stop();
 
  192        managerEvents.Reset();
 
  198#include "qnetworklistmanagernetworkinformationbackend.moc" 
void transportMediumChanged(QNetworkInformation::TransportMedium)
void isMeteredChanged(bool)
void connectivityChanged(NLM_CONNECTIVITY)
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
virtual bool event(QEvent *event)
This virtual function receives events to an object and should return true if the event e was recogniz...
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromUtf16(const char16_t *, qsizetype size=-1)
Combined button and popup list for selecting options.
#define Q_LOGGING_CATEGORY(name,...)
#define qCWarning(category,...)
#define QT_CONFIG(feature)