diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index a90d066ad6..7b30b5d64c 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -232,7 +232,7 @@ void QGenericEngine::doRequestUpdate() name = interface.name(); QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Defined; - if((interface.flags() & QNetworkInterface::IsUp) && !interface.addressEntries().isEmpty()) + if ((interface.flags() & QNetworkInterface::IsRunning) && !interface.addressEntries().isEmpty()) state |= QNetworkConfiguration::Active; if (accessPointConfigurations.contains(id)) { diff --git a/tests/manual/qnetworkconfigurationmanager/main.cpp b/tests/manual/qnetworkconfigurationmanager/main.cpp new file mode 100644 index 0000000000..2ac33d4fe1 --- /dev/null +++ b/tests/manual/qnetworkconfigurationmanager/main.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include + +class tst_qnetworkconfigurationmanager : public QObject +{ + Q_OBJECT + +private slots: + void isOnline(); +}; + +class SignalHandler : public QObject +{ + Q_OBJECT + +public slots: + void onOnlineStateChanged(bool isOnline) + { + qDebug() << "Online state changed to:" << isOnline; + } +}; + +void tst_qnetworkconfigurationmanager::isOnline() +{ + QNetworkConfigurationManager manager; + qDebug() << "Testing QNetworkConfigurationManager online status reporting functionality."; + qDebug() << "This should tell the current online state:" << manager.isOnline(); + qDebug() << "Now please plug / unplug the network cable, and check the state update signal."; + qDebug() << "Note that there might be some delays before you see the change, depending on the backend."; + + SignalHandler signalHandler; + connect(&manager, SIGNAL(onlineStateChanged(bool)), &signalHandler, SLOT(onOnlineStateChanged(bool))); + + // event loop + QTestEventLoop::instance().enterLoop(30); + QVERIFY(QTestEventLoop::instance().timeout()); +} + +QTEST_MAIN(tst_qnetworkconfigurationmanager) + +#include "main.moc" diff --git a/tests/manual/qnetworkconfigurationmanager/qnetworkconfigurationmanager.pro b/tests/manual/qnetworkconfigurationmanager/qnetworkconfigurationmanager.pro new file mode 100644 index 0000000000..613fcd85e4 --- /dev/null +++ b/tests/manual/qnetworkconfigurationmanager/qnetworkconfigurationmanager.pro @@ -0,0 +1,13 @@ +CONFIG += testcase +TEMPLATE = app +TARGET = tst_qnetworkconfigurationmanager +DEPENDPATH += . +INCLUDEPATH += . + +QT -= gui +QT += network testlib + +CONFIG += release + +# Input +SOURCES += main.cpp