diff options
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r-- | src/plugins/bearer/connman/connman.pro | 1 | ||||
-rw-r--r-- | src/plugins/bearer/connman/qconnmanengine.cpp | 60 | ||||
-rw-r--r-- | src/plugins/bearer/connman/qconnmanengine.h | 5 | ||||
-rw-r--r-- | src/plugins/bearer/corewlan/qcorewlanengine.mm | 3 | ||||
-rw-r--r-- | src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm | 3 | ||||
-rw-r--r-- | src/plugins/bearer/generic/qgenericengine.cpp | 1 |
6 files changed, 10 insertions, 63 deletions
diff --git a/src/plugins/bearer/connman/connman.pro b/src/plugins/bearer/connman/connman.pro index 0da2dfacf6..bc4efe8b62 100644 --- a/src/plugins/bearer/connman/connman.pro +++ b/src/plugins/bearer/connman/connman.pro @@ -6,7 +6,6 @@ load(qt_plugin) QT = core network-private dbus CONFIG += link_pkgconfig -packagesExist(connectionagent) { DEFINES += QT_HAS_CONNECTIONAGENT } HEADERS += qconnmanservice_linux_p.h \ qofonoservice_linux_p.h \ diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp index adefb7504e..3d7daedeb0 100644 --- a/src/plugins/bearer/connman/qconnmanengine.cpp +++ b/src/plugins/bearer/connman/qconnmanengine.cpp @@ -54,11 +54,6 @@ #include <QtDBus/QDBusInterface> #include <QtDBus/QDBusMessage> #include <QtDBus/QDBusReply> -#ifdef QT_HAS_CONNECTIONAGENT -#include <sys/inotify.h> -#include <fcntl.h> -#include <qcore_unix_p.h> -#endif #ifndef QT_NO_BEARERMANAGEMENT #ifndef QT_NO_DBUS @@ -78,9 +73,6 @@ QConnmanEngine::QConnmanEngine(QObject *parent) QConnmanEngine::~QConnmanEngine() { -#ifdef QT_HAS_CONNECTIONAGENT - qt_safe_close(inotifyFileDescriptor); -#endif } bool QConnmanEngine::connmanAvailable() const @@ -108,16 +100,6 @@ void QConnmanEngine::initialize() addServiceConfiguration(servPath); } Q_EMIT updateCompleted(); -#ifdef QT_HAS_CONNECTIONAGENT - QSettings confFile(QStringLiteral("nemomobile"),QStringLiteral("connectionagent")); - - inotifyFileDescriptor = ::inotify_init(); - inotifyWatcher = ::inotify_add_watch(inotifyFileDescriptor, QFile::encodeName(confFile.fileName()), IN_MODIFY); - if (inotifyWatcher > 0) { - QSocketNotifier *notifier = new QSocketNotifier(inotifyFileDescriptor, QSocketNotifier::Read, this); - connect(notifier, SIGNAL(activated(int)), this, SLOT(inotifyActivated())); - } -#endif } void QConnmanEngine::changedModem() @@ -195,10 +177,6 @@ void QConnmanEngine::connectToId(const QString &id) emit connectionError(id, QBearerEngineImpl::OperationNotSupported); return; } - if (isAlwaysAskRoaming()) { - emit connectionError(id, QBearerEngineImpl::OperationNotSupported); - return; - } } } if (serv->autoConnect()) @@ -272,12 +250,11 @@ QNetworkSession::State QConnmanEngine::sessionStateForId(const QString &id) return QNetworkSession::Disconnected; } - if (servState == QLatin1String("association") || servState == QLatin1String("configuration") - || servState == QLatin1String("ready")) { + if (servState == QLatin1String("association") || servState == QLatin1String("configuration")) { return QNetworkSession::Connecting; } - if (servState == QLatin1String("online")) { + if (servState == QLatin1String("online") || servState == QLatin1String("ready")) { return QNetworkSession::Connected; } @@ -421,9 +398,8 @@ QNetworkConfiguration::StateFlags QConnmanEngine::getStateForService(const QStri if (serv->type() == QLatin1String("cellular")) { - if (!serv->autoConnect() - || (serv->roaming() - && (isAlwaysAskRoaming() || !isRoamingAllowed(serv->path())))) { + if (!serv->autoConnect()|| (serv->roaming() + && !isRoamingAllowed(serv->path()))) { flag = (flag | QNetworkConfiguration::Defined); } else { flag = (flag | QNetworkConfiguration::Discovered); @@ -437,7 +413,7 @@ QNetworkConfiguration::StateFlags QConnmanEngine::getStateForService(const QStri flag = QNetworkConfiguration::Undefined; } } - if (state == QLatin1String("online")) { + if (state == QLatin1String("online") || state == QLatin1String("ready")) { flag = (flag | QNetworkConfiguration::Active); } @@ -576,17 +552,6 @@ bool QConnmanEngine::requiresPolling() const return false; } -bool QConnmanEngine::isAlwaysAskRoaming() -{ -#ifdef QT_HAS_CONNECTIONAGENT - QSettings confFile(QStringLiteral("nemomobile"),QStringLiteral("connectionagent")); - confFile.beginGroup(QStringLiteral("Connectionagent")); - return confFile.value(QStringLiteral("askForRoaming")).toBool(); -#else - return false; -#endif -} - void QConnmanEngine::reEvaluateCellular() { Q_FOREACH (const QString &servicePath, connmanManager->getServices()) { @@ -596,21 +561,6 @@ void QConnmanEngine::reEvaluateCellular() } } -void QConnmanEngine::inotifyActivated() -{ -#ifdef QT_HAS_CONNECTIONAGENT - - char buffer[1024]; - int len = qt_safe_read(inotifyFileDescriptor, (void *)buffer, sizeof(buffer)); - if (len > 0) { - struct inotify_event *event = (struct inotify_event *)buffer; - if (event->wd == inotifyWatcher && (event->mask & IN_MODIFY) == 0) { - QTimer::singleShot(1000, this, SLOT(reEvaluateCellular())); //give this time to finish write - } - } -#endif -} - QT_END_NAMESPACE #endif // QT_NO_DBUS diff --git a/src/plugins/bearer/connman/qconnmanengine.h b/src/plugins/bearer/connman/qconnmanengine.h index 4a4e91659b..4d5495ae86 100644 --- a/src/plugins/bearer/connman/qconnmanengine.h +++ b/src/plugins/bearer/connman/qconnmanengine.h @@ -108,7 +108,6 @@ private Q_SLOTS: void serviceStateChanged(const QString &state); void configurationChange(QConnmanServiceInterface * service); void reEvaluateCellular(); - void inotifyActivated(); private: QConnmanManagerInterface *connmanManager; @@ -134,12 +133,8 @@ private: QNetworkConfiguration::BearerType ofonoTechToBearerType(const QString &type); bool isRoamingAllowed(const QString &context); - bool isAlwaysAskRoaming(); QMap <QString,QConnmanServiceInterface *> connmanServiceInterfaces; - int inotifyWatcher; - int inotifyFileDescriptor; - protected: bool requiresPolling() const; }; diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 554ad26e51..65e70876f2 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -419,7 +419,8 @@ QCoreWlanEngine::QCoreWlanEngine(QObject *parent) QCoreWlanEngine::~QCoreWlanEngine() { - scanThread->wait(5000); + scanThread->terminate(); + scanThread->wait(); while (!foundConfigurations.isEmpty()) delete foundConfigurations.takeFirst(); diff --git a/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm b/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm index ba1cf33258..6cf614cb30 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine_10_6.mm @@ -404,7 +404,8 @@ QCoreWlanEngine::QCoreWlanEngine(QObject *parent) QCoreWlanEngine::~QCoreWlanEngine() { - scanThread->wait(5000); + scanThread->terminate(); + scanThread->wait(); while (!foundConfigurations.isEmpty()) delete foundConfigurations.takeFirst(); diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index d2579372c7..d687539d84 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -165,6 +165,7 @@ static QNetworkConfiguration::BearerType qGetInterfaceType(const QString &interf ifreq request; strncpy(request.ifr_name, interface.toLocal8Bit().data(), sizeof(request.ifr_name)); + request.ifr_name[sizeof(request.ifr_name) - 1] = '\0'; int result = ioctl(sock, SIOCGIFHWADDR, &request); close(sock); |