diff options
Diffstat (limited to 'src/plugins')
38 files changed, 61 insertions, 1374 deletions
diff --git a/src/plugins/bearer/android/src/qandroidbearerengine.cpp b/src/plugins/bearer/android/src/qandroidbearerengine.cpp index a43ed69570..ad9895e0cf 100644 --- a/src/plugins/bearer/android/src/qandroidbearerengine.cpp +++ b/src/plugins/bearer/android/src/qandroidbearerengine.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qandroidbearerengine.h" -#include "../../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include "wrappers/androidconnectivitymanager.h" #ifndef QT_NO_BEARERMANAGEMENT diff --git a/src/plugins/bearer/android/src/qandroidbearerengine.h b/src/plugins/bearer/android/src/qandroidbearerengine.h index 837b02232d..867d04d886 100644 --- a/src/plugins/bearer/android/src/qandroidbearerengine.h +++ b/src/plugins/bearer/android/src/qandroidbearerengine.h @@ -40,7 +40,7 @@ #ifndef QANDROIDBEARERENGINE_H #define QANDROIDBEARERENGINE_H -#include "../../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include <QAbstractEventDispatcher> #include <QAbstractNativeEventFilter> diff --git a/src/plugins/bearer/android/src/src.pro b/src/plugins/bearer/android/src/src.pro index eb0738386c..fcd599dffe 100644 --- a/src/plugins/bearer/android/src/src.pro +++ b/src/plugins/bearer/android/src/src.pro @@ -2,13 +2,10 @@ TARGET = qandroidbearer QT = core-private network-private -HEADERS += qandroidbearerengine.h \ - ../../qnetworksession_impl.h \ - ../../qbearerengine_impl.h +HEADERS += qandroidbearerengine.h SOURCES += main.cpp \ - qandroidbearerengine.cpp \ - ../../qnetworksession_impl.cpp + qandroidbearerengine.cpp include(wrappers/wrappers.pri) diff --git a/src/plugins/bearer/connman/connman.pro b/src/plugins/bearer/connman/connman.pro index 065ed11dad..03e94cfe6a 100644 --- a/src/plugins/bearer/connman/connman.pro +++ b/src/plugins/bearer/connman/connman.pro @@ -1,18 +1,13 @@ TARGET = qconnmanbearer -QT = core network-private dbus +QT = core network-private dbus linuxofono_support_private HEADERS += qconnmanservice_linux_p.h \ - ../linux_common/qofonoservice_linux_p.h \ - qconnmanengine.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h + qconnmanengine.h SOURCES += main.cpp \ qconnmanservice_linux.cpp \ - ../linux_common/qofonoservice_linux.cpp \ - qconnmanengine.cpp \ - ../qnetworksession_impl.cpp + qconnmanengine.cpp OTHER_FILES += connman.json diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp index 8b2076bd18..a673834825 100644 --- a/src/plugins/bearer/connman/qconnmanengine.cpp +++ b/src/plugins/bearer/connman/qconnmanengine.cpp @@ -39,7 +39,7 @@ #include "qconnmanengine.h" #include "qconnmanservice_linux_p.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> diff --git a/src/plugins/bearer/connman/qconnmanengine.h b/src/plugins/bearer/connman/qconnmanengine.h index ef80d38fa2..969eed45b1 100644 --- a/src/plugins/bearer/connman/qconnmanengine.h +++ b/src/plugins/bearer/connman/qconnmanengine.h @@ -51,10 +51,10 @@ // We mean it. // -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include "qconnmanservice_linux_p.h" -#include "../linux_common/qofonoservice_linux_p.h" +#include <private/qofonoservice_linux_p.h> #include <QMap> #include <QVariant> diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 1dc09ebdd6..4f08eaba71 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -7,12 +7,9 @@ qtConfig(corewlan) { LIBS += -framework CoreWLAN -framework Security } -HEADERS += qcorewlanengine.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h +HEADERS += qcorewlanengine.h -SOURCES += main.cpp \ - ../qnetworksession_impl.cpp +SOURCES += main.cpp OBJECTIVE_SOURCES += qcorewlanengine.mm diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.h b/src/plugins/bearer/corewlan/qcorewlanengine.h index 6dddee66a4..8775474c09 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.h +++ b/src/plugins/bearer/corewlan/qcorewlanengine.h @@ -40,7 +40,7 @@ #ifndef QCOREWLANENGINE_H #define QCOREWLANENGINE_H -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include <QMap> #include <QTimer> diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 66f2ed017b..01c6df74d5 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qcorewlanengine.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> diff --git a/src/plugins/bearer/generic/generic.pro b/src/plugins/bearer/generic/generic.pro index f30bdc4951..14b858b301 100644 --- a/src/plugins/bearer/generic/generic.pro +++ b/src/plugins/bearer/generic/generic.pro @@ -3,11 +3,8 @@ TARGET = qgenericbearer QT = core-private network-private HEADERS += qgenericengine.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h \ ../platformdefs_win.h SOURCES += qgenericengine.cpp \ - ../qnetworksession_impl.cpp \ main.cpp OTHER_FILES += generic.json diff --git a/src/plugins/bearer/generic/qgenericengine.cpp b/src/plugins/bearer/generic/qgenericengine.cpp index b1f28849a7..a5fba15789 100644 --- a/src/plugins/bearer/generic/qgenericengine.cpp +++ b/src/plugins/bearer/generic/qgenericengine.cpp @@ -41,7 +41,7 @@ #define WIN32_LEAN_AND_MEAN 1 #include "qgenericengine.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> diff --git a/src/plugins/bearer/generic/qgenericengine.h b/src/plugins/bearer/generic/qgenericengine.h index 79c71ca7a3..6b8fb4cd0f 100644 --- a/src/plugins/bearer/generic/qgenericengine.h +++ b/src/plugins/bearer/generic/qgenericengine.h @@ -40,7 +40,7 @@ #ifndef QGENERICENGINE_H #define QGENERICENGINE_H -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include <QMap> #include <QTimer> diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp b/src/plugins/bearer/linux_common/qofonoservice_linux.cpp deleted file mode 100644 index 05f9b3ca17..0000000000 --- a/src/plugins/bearer/linux_common/qofonoservice_linux.cpp +++ /dev/null @@ -1,384 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QObject> -#include <QList> -#include <QtDBus/QtDBus> -#include <QtDBus/QDBusConnection> -#include <QtDBus/QDBusError> -#include <QtDBus/QDBusInterface> -#include <QtDBus/QDBusMessage> -#include <QtDBus/QDBusReply> -#include <QtDBus/QDBusPendingCallWatcher> -#include <QtDBus/QDBusObjectPath> -#include <QtDBus/QDBusPendingCall> - -#include "qofonoservice_linux_p.h" - -#ifndef QT_NO_DBUS - -QDBusArgument &operator<<(QDBusArgument &argument, const ObjectPathProperties &item) -{ - argument.beginStructure(); - argument << item.path << item.properties; - argument.endStructure(); - return argument; -} - -const QDBusArgument &operator>>(const QDBusArgument &argument, ObjectPathProperties &item) -{ - argument.beginStructure(); - argument >> item.path >> item.properties; - argument.endStructure(); - return argument; -} - -QT_BEGIN_NAMESPACE - -QOfonoManagerInterface::QOfonoManagerInterface( QObject *parent) - : QDBusAbstractInterface(QLatin1String(OFONO_SERVICE), - QLatin1String(OFONO_MANAGER_PATH), - OFONO_MANAGER_INTERFACE, - QDBusConnection::systemBus(), parent) -{ - qDBusRegisterMetaType<ObjectPathProperties>(); - qDBusRegisterMetaType<PathPropertiesList>(); - - QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), - QLatin1String(OFONO_MANAGER_PATH), - QLatin1String(OFONO_MANAGER_INTERFACE), - QLatin1String("ModemAdded"), - this,SLOT(modemAdded(QDBusObjectPath,QVariantMap))); - QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), - QLatin1String(OFONO_MANAGER_PATH), - QLatin1String(OFONO_MANAGER_INTERFACE), - QLatin1String("ModemRemoved"), - this,SLOT(modemRemoved(QDBusObjectPath))); -} - -QOfonoManagerInterface::~QOfonoManagerInterface() -{ -} - -QStringList QOfonoManagerInterface::getModems() -{ - if (modemList.isEmpty()) { - QDBusPendingReply<PathPropertiesList> reply = call(QDBus::Block, QLatin1String("GetModems")); - reply.waitForFinished(); - if (!reply.isError()) { - const auto modems = reply.value(); - for (const ObjectPathProperties &modem : modems) - modemList << modem.path.path(); - } - } - - return modemList; -} - -QString QOfonoManagerInterface::currentModem() -{ - const QStringList modems = getModems(); - for (const QString &modem : modems) { - QOfonoModemInterface device(modem); - if (device.isPowered() && device.isOnline() - && device.interfaces().contains(QLatin1String("org.ofono.NetworkRegistration"))) - return modem; - } - return QString(); -} - -void QOfonoManagerInterface::modemAdded(const QDBusObjectPath &path, const QVariantMap &/*var*/) -{ - if (!modemList.contains(path.path())) { - modemList << path.path(); - Q_EMIT modemChanged(); - } -} - -void QOfonoManagerInterface::modemRemoved(const QDBusObjectPath &path) -{ - if (modemList.contains(path.path())) { - modemList.removeOne(path.path()); - Q_EMIT modemChanged(); - } -} - - -QOfonoModemInterface::QOfonoModemInterface(const QString &dbusPathName, QObject *parent) - : QDBusAbstractInterface(QLatin1String(OFONO_SERVICE), - dbusPathName, - OFONO_MODEM_INTERFACE, - QDBusConnection::systemBus(), parent) -{ - QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), - path(), - OFONO_MODEM_INTERFACE, - QLatin1String("PropertyChanged"), - this,SLOT(propertyChanged(QString,QDBusVariant))); -} - -QOfonoModemInterface::~QOfonoModemInterface() -{ -} - -void QOfonoModemInterface::propertyChanged(const QString &name,const QDBusVariant &value) -{ - propertiesMap[name] = value.variant(); -} - -bool QOfonoModemInterface::isPowered() -{ - QVariant var = getProperty(QStringLiteral("Powered")); - return qdbus_cast<bool>(var); -} - -bool QOfonoModemInterface::isOnline() -{ - QVariant var = getProperty(QStringLiteral("Online")); - return qdbus_cast<bool>(var); -} - -QStringList QOfonoModemInterface::interfaces() -{ - const QVariant var = getProperty(QStringLiteral("Interfaces")); - return var.toStringList(); -} - -QVariantMap QOfonoModemInterface::getProperties() -{ - if (propertiesMap.isEmpty()) { - QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties")); - if (!reply.isError()) { - propertiesMap = reply.value(); - } - } - return propertiesMap; -} - -QVariant QOfonoModemInterface::getProperty(const QString &property) -{ - QVariant var; - QVariantMap map = getProperties(); - if (map.contains(property)) - var = map.value(property); - return var; -} - - -QOfonoNetworkRegistrationInterface::QOfonoNetworkRegistrationInterface(const QString &dbusPathName, QObject *parent) - : QDBusAbstractInterface(QLatin1String(OFONO_SERVICE), - dbusPathName, - OFONO_NETWORK_REGISTRATION_INTERFACE, - QDBusConnection::systemBus(), parent) -{ -} - -QOfonoNetworkRegistrationInterface::~QOfonoNetworkRegistrationInterface() -{ -} - -QString QOfonoNetworkRegistrationInterface::getTechnology() -{ - QVariant var = getProperty(QStringLiteral("Technology")); - return qdbus_cast<QString>(var); -} - -QVariant QOfonoNetworkRegistrationInterface::getProperty(const QString &property) -{ - QVariant var; - QVariantMap map = getProperties(); - if (map.contains(property)) - var = map.value(property); - return var; -} - -QVariantMap QOfonoNetworkRegistrationInterface::getProperties() -{ - if (propertiesMap.isEmpty()) { - QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties")); - reply.waitForFinished(); - if (!reply.isError()) { - propertiesMap = reply.value(); - } - } - return propertiesMap; -} - -QOfonoDataConnectionManagerInterface::QOfonoDataConnectionManagerInterface(const QString &dbusPathName, QObject *parent) - : QDBusAbstractInterface(QLatin1String(OFONO_SERVICE), - dbusPathName, - OFONO_DATA_CONNECTION_MANAGER_INTERFACE, - QDBusConnection::systemBus(), parent) -{ - QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), - path(), - QLatin1String(OFONO_MODEM_INTERFACE), - QLatin1String("PropertyChanged"), - this,SLOT(propertyChanged(QString,QDBusVariant))); -} - -QOfonoDataConnectionManagerInterface::~QOfonoDataConnectionManagerInterface() -{ -} - -QStringList QOfonoDataConnectionManagerInterface::contexts() -{ - if (contextList.isEmpty()) { - QDBusPendingReply<PathPropertiesList > reply = call(QLatin1String("GetContexts")); - reply.waitForFinished(); - if (!reply.isError()) { - const auto contexts = reply.value(); - for (const ObjectPathProperties &context : contexts) - contextList << context.path.path(); - } - } - return contextList; -} - -PathPropertiesList QOfonoDataConnectionManagerInterface::contextsWithProperties() -{ - if (contextListProperties.isEmpty()) { - QDBusPendingReply<PathPropertiesList > reply = call(QLatin1String("GetContexts")); - reply.waitForFinished(); - if (!reply.isError()) { - contextListProperties = reply.value(); - } - } - return contextListProperties; -} - -bool QOfonoDataConnectionManagerInterface::roamingAllowed() -{ - QVariant var = getProperty(QStringLiteral("RoamingAllowed")); - return qdbus_cast<bool>(var); -} - -QString QOfonoDataConnectionManagerInterface::bearer() -{ - QVariant var = getProperty(QStringLiteral("Bearer")); - return qdbus_cast<QString>(var); -} - -QVariant QOfonoDataConnectionManagerInterface::getProperty(const QString &property) -{ - return getProperties().value(property); -} - -QVariantMap &QOfonoDataConnectionManagerInterface::getProperties() -{ - if (propertiesMap.isEmpty()) { - QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties")); - if (!reply.isError()) { - propertiesMap = reply.value(); - } - } - return propertiesMap; -} - -void QOfonoDataConnectionManagerInterface::propertyChanged(const QString &name, const QDBusVariant &value) -{ - propertiesMap[name] = value.variant(); - if (name == QLatin1String("RoamingAllowed")) - Q_EMIT roamingAllowedChanged(value.variant().toBool()); -} - - -QOfonoConnectionContextInterface::QOfonoConnectionContextInterface(const QString &dbusPathName, QObject *parent) - : QDBusAbstractInterface(QLatin1String(OFONO_SERVICE), - dbusPathName, - OFONO_CONNECTION_CONTEXT_INTERFACE, - QDBusConnection::systemBus(), parent) -{ - QDBusConnection::systemBus().connect(QLatin1String(OFONO_SERVICE), - path(), - QLatin1String(OFONO_MODEM_INTERFACE), - QLatin1String("PropertyChanged"), - this,SLOT(propertyChanged(QString,QDBusVariant))); -} - -QOfonoConnectionContextInterface::~QOfonoConnectionContextInterface() -{ -} - -QVariantMap QOfonoConnectionContextInterface::getProperties() -{ - if (propertiesMap.isEmpty()) { - QDBusPendingReply<QVariantMap> reply = call(QDBus::Block, QLatin1String("GetProperties")); - if (!reply.isError()) { - propertiesMap = reply.value(); - } - } - return propertiesMap; -} - -void QOfonoConnectionContextInterface::propertyChanged(const QString &name, const QDBusVariant &value) -{ - propertiesMap[name] = value.variant(); -} - -QVariant QOfonoConnectionContextInterface::getProperty(const QString &property) -{ - QVariant var; - QVariantMap map = getProperties(); - if (map.contains(property)) - var = map.value(property); - return var; -} - -bool QOfonoConnectionContextInterface::active() -{ - QVariant var = getProperty(QStringLiteral("Active")); - return qdbus_cast<bool>(var); -} - -QString QOfonoConnectionContextInterface::accessPointName() -{ - QVariant var = getProperty(QStringLiteral("AccessPointName")); - return qdbus_cast<QString>(var); -} - -QString QOfonoConnectionContextInterface::name() -{ - QVariant var = getProperty(QStringLiteral("Name")); - return qdbus_cast<QString>(var); -} - -QT_END_NAMESPACE - -#endif // QT_NO_DBUS diff --git a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h b/src/plugins/bearer/linux_common/qofonoservice_linux_p.h deleted file mode 100644 index 62df5d4fa7..0000000000 --- a/src/plugins/bearer/linux_common/qofonoservice_linux_p.h +++ /dev/null @@ -1,207 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QOFONOSERVICE_H -#define QOFONOSERVICE_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtDBus/QtDBus> -#include <QtDBus/QDBusConnection> -#include <QtDBus/QDBusError> -#include <QtDBus/QDBusInterface> -#include <QtDBus/QDBusMessage> -#include <QtDBus/QDBusReply> - -#include <QtDBus/QDBusPendingCallWatcher> -#include <QtDBus/QDBusObjectPath> -#include <QtDBus/QDBusContext> -#include <QMap> - -#ifndef QT_NO_DBUS - -#define OFONO_SERVICE "org.ofono" -#define OFONO_MANAGER_INTERFACE "org.ofono.Manager" -#define OFONO_MANAGER_PATH "/" - -#define OFONO_MODEM_INTERFACE "org.ofono.Modem" -#define OFONO_NETWORK_REGISTRATION_INTERFACE "org.ofono.NetworkRegistration" -#define OFONO_DATA_CONNECTION_MANAGER_INTERFACE "org.ofono.ConnectionManager" -#define OFONO_CONNECTION_CONTEXT_INTERFACE "org.ofono.ConnectionContext" - -QT_BEGIN_NAMESPACE - -QT_END_NAMESPACE - -struct ObjectPathProperties -{ - QDBusObjectPath path; - QVariantMap properties; -}; -QT_BEGIN_NAMESPACE -Q_DECLARE_TYPEINFO(ObjectPathProperties, Q_MOVABLE_TYPE); // QDBusObjectPath is movable, but cannot be - // marked as such until Qt 6 -QT_END_NAMESPACE - -typedef QVector<ObjectPathProperties> PathPropertiesList; -Q_DECLARE_METATYPE(ObjectPathProperties) -Q_DECLARE_METATYPE (PathPropertiesList) - -QT_BEGIN_NAMESPACE - -class QOfonoManagerInterface : public QDBusAbstractInterface -{ - Q_OBJECT - -public: - - QOfonoManagerInterface( QObject *parent = nullptr); - ~QOfonoManagerInterface(); - - QStringList getModems(); - QString currentModem(); -signals: - void modemChanged(); -private: - QStringList modemList; -private slots: - void modemAdded(const QDBusObjectPath &path, const QVariantMap &var); - void modemRemoved(const QDBusObjectPath &path); -}; - -class QOfonoModemInterface : public QDBusAbstractInterface -{ - Q_OBJECT - -public: - - explicit QOfonoModemInterface(const QString &dbusModemPathName, QObject *parent = nullptr); - ~QOfonoModemInterface(); - - bool isPowered(); - bool isOnline(); - QStringList interfaces(); -private: - QVariantMap getProperties(); - QVariantMap propertiesMap; - QVariant getProperty(const QString &); - void propertyChanged(const QString &, const QDBusVariant &value); -}; - - -class QOfonoNetworkRegistrationInterface : public QDBusAbstractInterface -{ - Q_OBJECT - -public: - - explicit QOfonoNetworkRegistrationInterface(const QString &dbusModemPathName, QObject *parent = nullptr); - ~QOfonoNetworkRegistrationInterface(); - - QString getTechnology(); - -private: - QVariantMap getProperties(); - QVariant getProperty(const QString &); - QVariantMap propertiesMap; -Q_SIGNALS: - void propertyChanged(const QString &, const QDBusVariant &value); -}; - -class QOfonoDataConnectionManagerInterface : public QDBusAbstractInterface -{ - Q_OBJECT - -public: - - explicit QOfonoDataConnectionManagerInterface(const QString &dbusPathName, QObject *parent = nullptr); - ~QOfonoDataConnectionManagerInterface(); - - QStringList contexts(); - PathPropertiesList contextsWithProperties(); - bool roamingAllowed(); - QVariant getProperty(const QString &); - QString bearer(); -Q_SIGNALS: - void roamingAllowedChanged(bool); -private: - QVariantMap &getProperties(); - QVariantMap propertiesMap; - QStringList contextList; - PathPropertiesList contextListProperties; -private Q_SLOTS: - void propertyChanged(const QString &, const QDBusVariant &value); -}; - -class QOfonoConnectionContextInterface : public QDBusAbstractInterface -{ - Q_OBJECT - -public: - - explicit QOfonoConnectionContextInterface(const QString &dbusPathName, QObject *parent = nullptr); - ~QOfonoConnectionContextInterface(); - - QVariant getProperty(const QString &); - bool active(); - QString accessPointName(); - QString name(); - -Q_SIGNALS: -private: - QVariantMap getProperties(); - QVariantMap propertiesMap; -private slots: - void propertyChanged(const QString &, const QDBusVariant &value); -}; - -QT_END_NAMESPACE - -#endif // QT_NO_DBUS - -#endif //QOFONOSERVICE_H diff --git a/src/plugins/bearer/nativewifi/nativewifi.pro b/src/plugins/bearer/nativewifi/nativewifi.pro index da7f2da353..41bde99341 100644 --- a/src/plugins/bearer/nativewifi/nativewifi.pro +++ b/src/plugins/bearer/nativewifi/nativewifi.pro @@ -3,13 +3,10 @@ TARGET = qnativewifibearer QT = core-private network-private HEADERS += qnativewifiengine.h \ - platformdefs.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h + platformdefs.h SOURCES += main.cpp \ - qnativewifiengine.cpp \ - ../qnetworksession_impl.cpp + qnativewifiengine.cpp OTHER_FILES += nativewifi.json diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp index 777b4eea59..ca8700e63b 100644 --- a/src/plugins/bearer/nativewifi/qnativewifiengine.cpp +++ b/src/plugins/bearer/nativewifi/qnativewifiengine.cpp @@ -39,7 +39,7 @@ #include "qnativewifiengine.h" #include "platformdefs.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> diff --git a/src/plugins/bearer/nativewifi/qnativewifiengine.h b/src/plugins/bearer/nativewifi/qnativewifiengine.h index ab8d949c9a..24e97bf6df 100644 --- a/src/plugins/bearer/nativewifi/qnativewifiengine.h +++ b/src/plugins/bearer/nativewifi/qnativewifiengine.h @@ -51,7 +51,7 @@ // We mean it. // -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include <QtCore/qtimer.h> diff --git a/src/plugins/bearer/networkmanager/networkmanager.pro b/src/plugins/bearer/networkmanager/networkmanager.pro index e71c93f66f..3ca217f974 100644 --- a/src/plugins/bearer/networkmanager/networkmanager.pro +++ b/src/plugins/bearer/networkmanager/networkmanager.pro @@ -1,18 +1,13 @@ TARGET = qnmbearer -QT = core network-private dbus +QT = core network-private dbus linuxofono_support_private HEADERS += qnetworkmanagerservice.h \ - qnetworkmanagerengine.h \ - ../linux_common/qofonoservice_linux_p.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h + qnetworkmanagerengine.h SOURCES += main.cpp \ qnetworkmanagerservice.cpp \ - qnetworkmanagerengine.cpp \ - ../linux_common/qofonoservice_linux.cpp \ - ../qnetworksession_impl.cpp + qnetworkmanagerengine.cpp OTHER_FILES += networkmanager.json diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 85a9f9b9e0..cba2221587 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -39,7 +39,7 @@ #include "qnetworkmanagerengine.h" #include "qnetworkmanagerservice.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> @@ -53,7 +53,6 @@ #include <QDBusInterface> #include <QDBusMessage> #include <QDBusReply> -#include "../linux_common/qofonoservice_linux_p.h" #ifndef QT_NO_DBUS diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h index a95c68abdf..c624d6087d 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.h @@ -51,11 +51,11 @@ // We mean it. // -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include "qnetworkmanagerservice.h" -#include "../linux_common/qofonoservice_linux_p.h" +#include <private/qofonoservice_linux_p.h> #include <QMap> #include <QVariant> diff --git a/src/plugins/bearer/nla/nla.pro b/src/plugins/bearer/nla/nla.pro index 76f3279d25..2582dc7cd4 100644 --- a/src/plugins/bearer/nla/nla.pro +++ b/src/plugins/bearer/nla/nla.pro @@ -5,13 +5,10 @@ QT = core core-private network network-private QMAKE_USE_PRIVATE += ws2_32 HEADERS += qnlaengine.h \ - ../platformdefs_win.h \ - ../qnetworksession_impl.h \ - ../qbearerengine_impl.h + ../platformdefs_win.h SOURCES += main.cpp \ - qnlaengine.cpp \ - ../qnetworksession_impl.cpp + qnlaengine.cpp OTHER_FILES += nla.json diff --git a/src/plugins/bearer/nla/qnlaengine.cpp b/src/plugins/bearer/nla/qnlaengine.cpp index e1e60389f1..ab3c0d0e3a 100644 --- a/src/plugins/bearer/nla/qnlaengine.cpp +++ b/src/plugins/bearer/nla/qnlaengine.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qnlaengine.h" -#include "../qnetworksession_impl.h" +#include <private/qnetworksession_impl_p.h> #include <QtNetwork/private/qnetworkconfiguration_p.h> diff --git a/src/plugins/bearer/nla/qnlaengine.h b/src/plugins/bearer/nla/qnlaengine.h index ab014ff776..90efa50201 100644 --- a/src/plugins/bearer/nla/qnlaengine.h +++ b/src/plugins/bearer/nla/qnlaengine.h @@ -51,7 +51,7 @@ // We mean it. // -#include "../qbearerengine_impl.h" +#include <private/qbearerengine_impl_p.h> #include <QtNetwork/private/qnativesocketengine_p.h> diff --git a/src/plugins/bearer/qbearerengine_impl.h b/src/plugins/bearer/qbearerengine_impl.h deleted file mode 100644 index 5c003aaaf6..0000000000 --- a/src/plugins/bearer/qbearerengine_impl.h +++ /dev/null @@ -1,81 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QBEARERENGINE_IMPL_H -#define QBEARERENGINE_IMPL_H - -#include <QtNetwork/private/qbearerengine_p.h> - -QT_BEGIN_NAMESPACE - -class QBearerEngineImpl : public QBearerEngine -{ - Q_OBJECT - -public: - enum ConnectionError { - InterfaceLookupError = 0, - ConnectError, - OperationNotSupported, - DisconnectionError, - }; - - QBearerEngineImpl(QObject *parent = nullptr) : QBearerEngine(parent) {} - ~QBearerEngineImpl() {} - - virtual void connectToId(const QString &id) = 0; - virtual void disconnectFromId(const QString &id) = 0; - - virtual QString getInterfaceFromId(const QString &id) = 0; - - virtual QNetworkSession::State sessionStateForId(const QString &id) = 0; - - virtual quint64 bytesWritten(const QString &) { return Q_UINT64_C(0); } - virtual quint64 bytesReceived(const QString &) { return Q_UINT64_C(0); } - virtual quint64 startTime(const QString &) { return Q_UINT64_C(0); } - -Q_SIGNALS: - void connectionError(const QString &id, QBearerEngineImpl::ConnectionError error); -}; - -QT_END_NAMESPACE - -Q_DECLARE_METATYPE(QBearerEngineImpl::ConnectionError) - -#endif // QBEARERENGINE_IMPL_H diff --git a/src/plugins/bearer/qnetworksession_impl.cpp b/src/plugins/bearer/qnetworksession_impl.cpp deleted file mode 100644 index 8eba9ccc42..0000000000 --- a/src/plugins/bearer/qnetworksession_impl.cpp +++ /dev/null @@ -1,435 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// see comment in ../platformdefs_win.h. -#define WIN32_LEAN_AND_MEAN 1 - -#include "qnetworksession_impl.h" -#include "qbearerengine_impl.h" - -#include <QtNetwork/qnetworksession.h> -#include <QtNetwork/private/qnetworkconfigmanager_p.h> - -#include <QtCore/qdatetime.h> -#include <QtCore/qdebug.h> -#include <QtCore/qmutex.h> -#include <QtCore/qstringlist.h> - -QT_BEGIN_NAMESPACE - -static QBearerEngineImpl *getEngineFromId(const QString &id) -{ - QNetworkConfigurationManagerPrivate *priv = qNetworkConfigurationManagerPrivate(); - if (priv) { - const auto engines = priv->engines(); - for (QBearerEngine *engine : engines) { - QBearerEngineImpl *engineImpl = qobject_cast<QBearerEngineImpl *>(engine); - if (engineImpl && engineImpl->hasIdentifier(id)) - return engineImpl; - } - } - - return nullptr; -} - -class QNetworkSessionManagerPrivate : public QObject -{ - Q_OBJECT - -public: - QNetworkSessionManagerPrivate(QObject *parent = nullptr) : QObject(parent) {} - ~QNetworkSessionManagerPrivate() {} - - inline void forceSessionClose(const QNetworkConfiguration &config) - { emit forcedSessionClose(config); } - -Q_SIGNALS: - void forcedSessionClose(const QNetworkConfiguration &config); -}; - -Q_GLOBAL_STATIC(QNetworkSessionManagerPrivate, sessionManager); - -void QNetworkSessionPrivateImpl::syncStateWithInterface() -{ - connect(sessionManager(), SIGNAL(forcedSessionClose(QNetworkConfiguration)), - this, SLOT(forcedSessionClose(QNetworkConfiguration))); - - opened = false; - isOpen = false; - state = QNetworkSession::Invalid; - lastError = QNetworkSession::UnknownSessionError; - - qRegisterMetaType<QBearerEngineImpl::ConnectionError>(); - - switch (publicConfig.type()) { - case QNetworkConfiguration::InternetAccessPoint: - activeConfig = publicConfig; - engine = getEngineFromId(activeConfig.identifier()); - if (engine) { - qRegisterMetaType<QNetworkConfigurationPrivatePointer>(); - connect(engine, SIGNAL(configurationChanged(QNetworkConfigurationPrivatePointer)), - this, SLOT(configurationChanged(QNetworkConfigurationPrivatePointer)), - Qt::QueuedConnection); - connect(engine, SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)), - this, SLOT(connectionError(QString,QBearerEngineImpl::ConnectionError)), - Qt::QueuedConnection); - } - break; - case QNetworkConfiguration::ServiceNetwork: - serviceConfig = publicConfig; - // Defer setting engine and signals until open(). - Q_FALLTHROUGH(); - case QNetworkConfiguration::UserChoice: - // Defer setting serviceConfig and activeConfig until open(). - Q_FALLTHROUGH(); - default: - engine = nullptr; - } - - networkConfigurationsChanged(); -} - -void QNetworkSessionPrivateImpl::open() -{ - if (serviceConfig.isValid()) { - lastError = QNetworkSession::OperationNotSupportedError; - emit QNetworkSessionPrivate::error(lastError); - } else if (!isOpen) { - if ((activeConfig.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered) { - lastError = QNetworkSession::InvalidConfigurationError; - state = QNetworkSession::Invalid; - emit stateChanged(state); - emit QNetworkSessionPrivate::error(lastError); - return; - } - opened = true; - - if ((activeConfig.state() & QNetworkConfiguration::Active) != QNetworkConfiguration::Active && - (activeConfig.state() & QNetworkConfiguration::Discovered) == QNetworkConfiguration::Discovered) { - state = QNetworkSession::Connecting; - emit stateChanged(state); - - engine->connectToId(activeConfig.identifier()); - } - - isOpen = (activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active; - if (isOpen) - emit quitPendingWaitsForOpened(); - } -} - -void QNetworkSessionPrivateImpl::close() -{ - if (serviceConfig.isValid()) { - lastError = QNetworkSession::OperationNotSupportedError; - emit QNetworkSessionPrivate::error(lastError); - } else if (isOpen) { - opened = false; - isOpen = false; - emit closed(); - } -} - -void QNetworkSessionPrivateImpl::stop() -{ - if (serviceConfig.isValid()) { - lastError = QNetworkSession::OperationNotSupportedError; - emit QNetworkSessionPrivate::error(lastError); - } else { - if ((activeConfig.state() & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { - state = QNetworkSession::Closing; - emit stateChanged(state); - - engine->disconnectFromId(activeConfig.identifier()); - - sessionManager()->forceSessionClose(activeConfig); - } - - opened = false; - isOpen = false; - emit closed(); - } -} - -void QNetworkSessionPrivateImpl::migrate() -{ -} - -void QNetworkSessionPrivateImpl::accept() -{ -} - -void QNetworkSessionPrivateImpl::ignore() -{ -} - -void QNetworkSessionPrivateImpl::reject() -{ -} - -#ifndef QT_NO_NETWORKINTERFACE -QNetworkInterface QNetworkSessionPrivateImpl::currentInterface() const -{ - if (!engine || state != QNetworkSession::Connected || !publicConfig.isValid()) - return QNetworkInterface(); - - QString iface = engine->getInterfaceFromId(activeConfig.identifier()); - if (iface.isEmpty()) - return QNetworkInterface(); - return QNetworkInterface::interfaceFromName(iface); -} -#endif - -QVariant QNetworkSessionPrivateImpl::sessionProperty(const QString &key) const -{ - if (key == QLatin1String("AutoCloseSessionTimeout")) { - if (engine && engine->requiresPolling() && - !(engine->capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces)) { - return sessionTimeout >= 0 ? sessionTimeout * 10000 : -1; - } - } - - return QVariant(); -} - -void QNetworkSessionPrivateImpl::setSessionProperty(const QString &key, const QVariant &value) -{ - if (key == QLatin1String("AutoCloseSessionTimeout")) { - if (engine && engine->requiresPolling() && - !(engine->capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces)) { - int timeout = value.toInt(); - if (timeout >= 0) { - connect(engine, SIGNAL(updateCompleted()), - this, SLOT(decrementTimeout()), Qt::UniqueConnection); - sessionTimeout = timeout / 10000; // convert to poll intervals - } else { - disconnect(engine, SIGNAL(updateCompleted()), this, SLOT(decrementTimeout())); - sessionTimeout = -1; - } - } - } -} - -QString QNetworkSessionPrivateImpl::errorString() const -{ - switch (lastError) { - case QNetworkSession::UnknownSessionError: - return tr("Unknown session error."); - case QNetworkSession::SessionAbortedError: - return tr("The session was aborted by the user or system."); - case QNetworkSession::OperationNotSupportedError: - return tr("The requested operation is not supported by the system."); - case QNetworkSession::InvalidConfigurationError: - return tr("The specified configuration cannot be used."); - case QNetworkSession::RoamingError: - return tr("Roaming was aborted or is not possible."); - default: - break; - } - - return QString(); -} - -QNetworkSession::SessionError QNetworkSessionPrivateImpl::error() const -{ - return lastError; -} - -quint64 QNetworkSessionPrivateImpl::bytesWritten() const -{ - if (engine && state == QNetworkSession::Connected) - return engine->bytesWritten(activeConfig.identifier()); - return Q_UINT64_C(0); -} - -quint64 QNetworkSessionPrivateImpl::bytesReceived() const -{ - if (engine && state == QNetworkSession::Connected) - return engine->bytesReceived(activeConfig.identifier()); - return Q_UINT64_C(0); -} - -quint64 QNetworkSessionPrivateImpl::activeTime() const -{ - if (state == QNetworkSession::Connected && startTime != Q_UINT64_C(0)) - return QDateTime::currentSecsSinceEpoch() - startTime; - return Q_UINT64_C(0); -} - -QNetworkSession::UsagePolicies QNetworkSessionPrivateImpl::usagePolicies() const -{ - return currentPolicies; -} - -void QNetworkSessionPrivateImpl::setUsagePolicies(QNetworkSession::UsagePolicies newPolicies) -{ - if (newPolicies != currentPolicies) { - currentPolicies = newPolicies; - emit usagePoliciesChanged(currentPolicies); - } -} - -void QNetworkSessionPrivateImpl::updateStateFromServiceNetwork() -{ - QNetworkSession::State oldState = state; - - const auto configs = serviceConfig.children(); - for (const QNetworkConfiguration &config : configs) { - if ((config.state() & QNetworkConfiguration::Active) != QNetworkConfiguration::Active) - continue; - - if (activeConfig != config) { - if (engine) { - disconnect(engine, SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)), - this, SLOT(connectionError(QString,QBearerEngineImpl::ConnectionError))); - } - - activeConfig = config; - engine = getEngineFromId(activeConfig.identifier()); - - if (engine) { - connect(engine, SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)), - this, SLOT(connectionError(QString,QBearerEngineImpl::ConnectionError)), - Qt::QueuedConnection); - } - emit newConfigurationActivated(); - } - - state = QNetworkSession::Connected; - if (state != oldState) - emit stateChanged(state); - - return; - } - - if (serviceConfig.children().isEmpty()) - state = QNetworkSession::NotAvailable; - else - state = QNetworkSession::Disconnected; - - if (state != oldState) - emit stateChanged(state); -} - -void QNetworkSessionPrivateImpl::updateStateFromActiveConfig() -{ - if (!engine) - return; - - QNetworkSession::State oldState = state; - state = engine->sessionStateForId(activeConfig.identifier()); - - bool oldActive = isOpen; - isOpen = (state == QNetworkSession::Connected) ? opened : false; - - if (!oldActive && isOpen) - emit quitPendingWaitsForOpened(); - if (oldActive && !isOpen) - emit closed(); - - if (oldState != state) - emit stateChanged(state); -} - -void QNetworkSessionPrivateImpl::networkConfigurationsChanged() -{ - if (serviceConfig.isValid()) - updateStateFromServiceNetwork(); - else - updateStateFromActiveConfig(); - - if (engine) - startTime = engine->startTime(activeConfig.identifier()); -} - -void QNetworkSessionPrivateImpl::configurationChanged(QNetworkConfigurationPrivatePointer config) -{ - if (serviceConfig.isValid() && - (config->id == serviceConfig.identifier() || config->id == activeConfig.identifier())) { - updateStateFromServiceNetwork(); - } else if (config->id == activeConfig.identifier()) { - updateStateFromActiveConfig(); - } -} - -void QNetworkSessionPrivateImpl::forcedSessionClose(const QNetworkConfiguration &config) -{ - if (activeConfig == config) { - opened = false; - isOpen = false; - - emit closed(); - - lastError = QNetworkSession::SessionAbortedError; - emit QNetworkSessionPrivate::error(lastError); - } -} - -void QNetworkSessionPrivateImpl::connectionError(const QString &id, QBearerEngineImpl::ConnectionError error) -{ - if (activeConfig.identifier() == id) { - networkConfigurationsChanged(); - switch (error) { - case QBearerEngineImpl::OperationNotSupported: - lastError = QNetworkSession::OperationNotSupportedError; - opened = false; - break; - case QBearerEngineImpl::InterfaceLookupError: - case QBearerEngineImpl::ConnectError: - case QBearerEngineImpl::DisconnectionError: - default: - lastError = QNetworkSession::UnknownSessionError; - } - - emit QNetworkSessionPrivate::error(lastError); - } -} - -void QNetworkSessionPrivateImpl::decrementTimeout() -{ - if (--sessionTimeout <= 0) { - disconnect(engine, SIGNAL(updateCompleted()), this, SLOT(decrementTimeout())); - sessionTimeout = -1; - close(); - } -} - -QT_END_NAMESPACE - -#include "qnetworksession_impl.moc" diff --git a/src/plugins/bearer/qnetworksession_impl.h b/src/plugins/bearer/qnetworksession_impl.h deleted file mode 100644 index 0f8e014900..0000000000 --- a/src/plugins/bearer/qnetworksession_impl.h +++ /dev/null @@ -1,130 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QNETWORKSESSION_IMPL_H -#define QNETWORKSESSION_IMPL_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include "qbearerengine_impl.h" - -#include <QtNetwork/private/qnetworkconfigmanager_p.h> -#include <QtNetwork/private/qnetworksession_p.h> - -QT_BEGIN_NAMESPACE - -class QBearerEngineImpl; - -class QNetworkSessionPrivateImpl : public QNetworkSessionPrivate -{ - Q_OBJECT - -public: - QNetworkSessionPrivateImpl() - : engine(nullptr), startTime(0), lastError(QNetworkSession::UnknownSessionError), sessionTimeout(-1), currentPolicies(QNetworkSession::NoPolicy), opened(false) - {} - ~QNetworkSessionPrivateImpl() - {} - - //called by QNetworkSession constructor and ensures - //that the state is immediately updated (w/o actually opening - //a session). Also this function should take care of - //notification hooks to discover future state changes. - void syncStateWithInterface() override; - -#ifndef QT_NO_NETWORKINTERFACE - QNetworkInterface currentInterface() const override; -#endif - QVariant sessionProperty(const QString& key) const override; - void setSessionProperty(const QString& key, const QVariant& value) override; - - void open() override; - void close() override; - void stop() override; - void migrate() override; - void accept() override; - void ignore() override; - void reject() override; - - QString errorString() const override; //must return translated string - QNetworkSession::SessionError error() const override; - - quint64 bytesWritten() const override; - quint64 bytesReceived() const override; - quint64 activeTime() const override; - - QNetworkSession::UsagePolicies usagePolicies() const override; - void setUsagePolicies(QNetworkSession::UsagePolicies) override; - -private Q_SLOTS: - void networkConfigurationsChanged(); - void configurationChanged(QNetworkConfigurationPrivatePointer config); - void forcedSessionClose(const QNetworkConfiguration &config); - void connectionError(const QString &id, QBearerEngineImpl::ConnectionError error); - void decrementTimeout(); - -private: - void updateStateFromServiceNetwork(); - void updateStateFromActiveConfig(); - -private: - QBearerEngineImpl *engine; - - quint64 startTime; - - QNetworkSession::SessionError lastError; - - int sessionTimeout; - QNetworkSession::UsagePolicies currentPolicies; - - bool opened; -}; - -QT_END_NAMESPACE - -#endif // QNETWORKSESSION_IMPL_H diff --git a/src/plugins/platforms/android/android.pro b/src/plugins/platforms/android/android.pro index 730247cd7f..61cac51633 100644 --- a/src/plugins/platforms/android/android.pro +++ b/src/plugins/platforms/android/android.pro @@ -16,7 +16,6 @@ INCLUDEPATH += \ $$QT_SOURCE_TREE/src/3rdparty/android SOURCES += $$PWD/main.cpp \ - $$PWD/androidplatformplugin.cpp \ $$PWD/androidcontentfileengine.cpp \ $$PWD/androiddeadlockprotector.cpp \ $$PWD/androidjnimain.cpp \ diff --git a/src/plugins/platforms/android/androidplatformplugin.cpp b/src/plugins/platforms/android/androidplatformplugin.cpp deleted file mode 100644 index 297e167f47..0000000000 --- a/src/plugins/platforms/android/androidplatformplugin.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 BogDan Vatra <bogdan@kde.org> -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the plugins of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <qpa/qplatformintegrationplugin.h> -#include "qandroidplatformintegration.h" - -QT_BEGIN_NAMESPACE - -class QAndroidPlatformIntegrationPlugin: public QPlatformIntegrationPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID QPlatformIntegrationFactoryInterface_iid FILE "android.json") -public: - QPlatformIntegration *create(const QString &key, const QStringList ¶mList) override; -}; - - -QPlatformIntegration *QAndroidPlatformIntegrationPlugin::create(const QString &key, const QStringList ¶mList) -{ - Q_UNUSED(paramList); - if (!key.compare(QLatin1String("android"), Qt::CaseInsensitive)) - return new QAndroidPlatformIntegration(paramList); - return 0; -} - -QT_END_NAMESPACE -#include "androidplatformplugin.moc" - diff --git a/src/plugins/platforms/android/main.cpp b/src/plugins/platforms/android/main.cpp index c304fc8d69..4841d0425c 100644 --- a/src/plugins/platforms/android/main.cpp +++ b/src/plugins/platforms/android/main.cpp @@ -61,3 +61,4 @@ QPlatformIntegration *QAndroidIntegrationPlugin::create(const QString& system, c } QT_END_NAMESPACE +#include "main.moc" diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.h b/src/plugins/platforms/cocoa/qcocoaintegration.h index 0c14e07551..30838ba254 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.h +++ b/src/plugins/platforms/cocoa/qcocoaintegration.h @@ -128,6 +128,8 @@ public: void beep() const override; + void closePopups(QWindow *forWindow = nullptr); + private Q_SLOTS: void focusWindowChanged(QWindow *); diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index daece10e79..88a5c7dcf3 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -489,6 +489,19 @@ void QCocoaIntegration::beep() const NSBeep(); } +void QCocoaIntegration::closePopups(QWindow *forWindow) +{ + for (auto it = m_popupWindowStack.begin(); it != m_popupWindowStack.end();) { + auto *popup = *it; + if (!forWindow || popup->window()->transientParent() == forWindow) { + it = m_popupWindowStack.erase(it); + QWindowSystemInterface::handleCloseEvent<QWindowSystemInterface::SynchronousDelivery>(popup->window()); + } else { + ++it; + } + } +} + void QCocoaIntegration::focusWindowChanged(QWindow *focusWindow) { // Don't revert icon just because we lost focus diff --git a/src/plugins/platforms/cocoa/qcocoawindow.h b/src/plugins/platforms/cocoa/qcocoawindow.h index fef72bc496..1e46cd2dde 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.h +++ b/src/plugins/platforms/cocoa/qcocoawindow.h @@ -151,6 +151,7 @@ public: Q_NOTIFICATION_HANDLER(NSWindowDidEndLiveResizeNotification) void windowDidEndLiveResize(); Q_NOTIFICATION_HANDLER(NSWindowDidBecomeKeyNotification) void windowDidBecomeKey(); Q_NOTIFICATION_HANDLER(NSWindowDidResignKeyNotification) void windowDidResignKey(); + Q_NOTIFICATION_HANDLER(NSWindowWillMiniaturizeNotification) void windowWillMiniaturize(); Q_NOTIFICATION_HANDLER(NSWindowDidMiniaturizeNotification) void windowDidMiniaturize(); Q_NOTIFICATION_HANDLER(NSWindowDidDeminiaturizeNotification) void windowDidDeminiaturize(); Q_NOTIFICATION_HANDLER(NSWindowWillEnterFullScreenNotification) void windowWillEnterFullScreen(); diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 69d192b4f5..ad232d6d80 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -71,14 +71,6 @@ enum { defaultWindowHeight = 160 }; -static void qt_closePopups() -{ - while (QCocoaWindow *popup = QCocoaIntegration::instance()->popPopupWindow()) { - QWindowSystemInterface::handleCloseEvent(popup->window()); - QWindowSystemInterface::flushWindowSystemEvents(); - } -} - Q_LOGGING_CATEGORY(lcCocoaNotifications, "qt.qpa.cocoa.notifications"); static void qRegisterNotificationCallbacks() @@ -803,6 +795,11 @@ void QCocoaWindow::windowDidExitFullScreen() } } +void QCocoaWindow::windowWillMiniaturize() +{ + QCocoaIntegration::instance()->closePopups(window()); +} + void QCocoaWindow::windowDidMiniaturize() { if (!isContentView()) @@ -1141,7 +1138,7 @@ void QCocoaWindow::viewDidChangeGlobalFrame() void QCocoaWindow::windowWillMove() { // Close any open popups on window move - qt_closePopups(); + QCocoaIntegration::instance()->closePopups(); } void QCocoaWindow::windowDidMove() @@ -1270,7 +1267,7 @@ void QCocoaWindow::windowWillClose() { // Close any open popups on window closing. if (window() && !windowIsPopupType(window()->type())) - qt_closePopups(); + QCocoaIntegration::instance()->closePopups(); } // ----------------------- NSWindowDelegate callbacks ----------------------- diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp index f2d31d5783..d9521e7e08 100644 --- a/src/plugins/platforms/windows/qwindowsglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp @@ -329,7 +329,7 @@ static inline bool static void describeFormats(HDC hdc) { const int pfiMax = QOpenGLStaticContext::opengl32.describePixelFormat(hdc, 0, 0, nullptr); - for (int i = 0; i < pfiMax; i++) { + for (int i = 1; i <= pfiMax; i++) { PIXELFORMATDESCRIPTOR pfd; initPixelFormatDescriptor(&pfd); QOpenGLStaticContext::opengl32.describePixelFormat(hdc, i, sizeof(PIXELFORMATDESCRIPTOR), &pfd); diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index a7aad15749..04596b2d4d 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -269,7 +269,7 @@ QDebug operator<<(QDebug d, const GUID &guid) static void formatBriefRectangle(QDebug &d, const QRect &r) { - d << r.width() << 'x' << r.height() << forcesign << r.x() << r.y() << noforcesign; + d << r.width() << 'x' << r.height() << Qt::forcesign << r.x() << r.y() << Qt::noforcesign; } static void formatBriefMargins(QDebug &d, const QMargins &m) @@ -918,7 +918,7 @@ QMargins QWindowsGeometryHint::frameOnPrimaryScreen(DWORD style, DWORD exStyle) const QMargins result(qAbs(rect.left), qAbs(rect.top), qAbs(rect.right), qAbs(rect.bottom)); qCDebug(lcQpaWindows).nospace() << __FUNCTION__ << " style=" - << showbase << hex << style << " exStyle=" << exStyle << dec << noshowbase + << Qt::showbase << Qt::hex << style << " exStyle=" << exStyle << Qt::dec << Qt::noshowbase << ' ' << rect << ' ' << result; return result; } diff --git a/src/plugins/platforms/xcb/qxcbeventqueue.h b/src/plugins/platforms/xcb/qxcbeventqueue.h index 11d0b8e963..e7327b3fd6 100644 --- a/src/plugins/platforms/xcb/qxcbeventqueue.h +++ b/src/plugins/platforms/xcb/qxcbeventqueue.h @@ -49,6 +49,7 @@ #include <xcb/xcb.h> #include <atomic> +#include <limits> QT_BEGIN_NAMESPACE @@ -106,7 +107,7 @@ public: bool peekEventQueue(PeekerCallback peeker, void *peekerData = nullptr, PeekOptions option = PeekDefault, qint32 peekerId = -1); - void waitForNewEvents(unsigned long time = ULONG_MAX); + void waitForNewEvents(unsigned long time = std::numeric_limits<unsigned long>::max()); private: QXcbEventNode *qXcbEventNodeFactory(xcb_generic_event_t *event); diff --git a/src/plugins/styles/android/qandroidstyle.cpp b/src/plugins/styles/android/qandroidstyle.cpp index 086df92322..1d0838daec 100644 --- a/src/plugins/styles/android/qandroidstyle.cpp +++ b/src/plugins/styles/android/qandroidstyle.cpp @@ -248,7 +248,7 @@ QAndroidStyle::ItemType QAndroidStyle::qtControl(QStyle::PrimitiveElement primit case QStyle::PE_FrameLineEdit: return QC_EditText; - case QStyle::PE_IndicatorViewItemCheck: + case QStyle::PE_IndicatorItemViewItemCheck: case QStyle::PE_IndicatorCheckBox: return QC_Checkbox; diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index 5aa7befb84..f0bc51b796 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -3257,7 +3257,7 @@ void QMacStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPai CGContextRestoreGState(cg); break; } - case PE_IndicatorViewItemCheck: + case PE_IndicatorItemViewItemCheck: case PE_IndicatorRadioButton: case PE_IndicatorCheckBox: { const bool isEnabled = opt->state & State_Enabled; |