parent
3ab9625e46
commit
5d400333c7
@ -1 +1,2 @@
|
||||
/networkmanager-qt-5.18.0.tar.xz
|
||||
/networkmanager-qt-5.19.0.tar.xz
|
||||
|
@ -1,166 +0,0 @@
|
||||
diff --git a/src/activeconnection.cpp b/src/activeconnection.cpp
|
||||
index f29ca67..cbfb909 100644
|
||||
--- a/src/activeconnection.cpp
|
||||
+++ b/src/activeconnection.cpp
|
||||
@@ -108,36 +108,66 @@ NetworkManager::ActiveConnection::ActiveConnection(const QString &path, QObject
|
||||
* Workaround: Re-check connection state before we watch changes in case it gets changed too quickly
|
||||
* BUG:352326
|
||||
*/
|
||||
+ QStringList properties;
|
||||
+ const QDBusObjectPath ip4ConfigObjectPath = d->iface.ip4Config();
|
||||
+ const QDBusObjectPath ip6ConfigObjectPath = d->iface.ip6Config();
|
||||
+ const QDBusObjectPath dhcp4ConfigObjectPath = d->iface.dhcp4Config();
|
||||
+ const QDBusObjectPath dhcp6ConfigObjectPath = d->iface.dhcp6Config();
|
||||
+
|
||||
if (d->state != NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state())) {
|
||||
- d->state = NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state());
|
||||
- Q_EMIT stateChanged(d->state);
|
||||
+ properties << QLatin1String("State");
|
||||
}
|
||||
|
||||
#if NM_CHECK_VERSION(0, 9, 10)
|
||||
- QDBusObjectPath ip4ConfigObjectPath = d->iface.ip4Config();
|
||||
if (!ip4ConfigObjectPath.path().isNull() && ip4ConfigObjectPath.path() != d->ipV4ConfigPath) {
|
||||
- d->ipV4ConfigPath = ip4ConfigObjectPath.path();
|
||||
- Q_EMIT ipV4ConfigChanged();
|
||||
+ properties << QLatin1String("Ip4Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath ip6ConfigObjectPath = d->iface.ip6Config();
|
||||
if (!ip6ConfigObjectPath.path().isNull() && ip6ConfigObjectPath.path() != d->ipV6ConfigPath) {
|
||||
- d->ipV6ConfigPath = ip6ConfigObjectPath.path();
|
||||
- Q_EMIT ipV6ConfigChanged();
|
||||
+ properties << QLatin1String("Ip6Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath dhcp4ConfigObjectPath = d->iface.dhcp4Config();
|
||||
if (!dhcp4ConfigObjectPath.path().isNull() && dhcp4ConfigObjectPath.path() != d->dhcp4ConfigPath) {
|
||||
- d->dhcp4ConfigPath = dhcp4ConfigObjectPath.path();
|
||||
- Q_EMIT dhcp4ConfigChanged();
|
||||
+ properties << QLatin1String("Dhcp4Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath dhcp6ConfigObjectPath = d->iface.dhcp6Config();
|
||||
if (!dhcp6ConfigObjectPath.path().isNull() && dhcp6ConfigObjectPath.path() != d->dhcp6ConfigPath) {
|
||||
- d->dhcp6ConfigPath = dhcp6ConfigObjectPath.path();
|
||||
- Q_EMIT dhcp6ConfigChanged();
|
||||
+ properties << QLatin1String("Dhcp6Config");
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+ Q_FOREACH (const QString &property, properties) {
|
||||
+ QDBusMessage message = QDBusMessage::createMethodCall(NetworkManager::NetworkManagerPrivate::DBUS_SERVICE,
|
||||
+ NetworkManager::NetworkManagerPrivate::DBUS_DAEMON_PATH,
|
||||
+ NetworkManager::NetworkManagerPrivate::FDO_DBUS_PROPERTIES,
|
||||
+ QLatin1String("Get"));
|
||||
+ message << d->iface.staticInterfaceName() << property;
|
||||
+
|
||||
+ QDBusPendingCall pendingCall = QDBusConnection::systemBus().asyncCall(message);
|
||||
+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall, this);
|
||||
+
|
||||
+ connect(watcher, &QDBusPendingCallWatcher::finished, [d, this, property] () {
|
||||
+ if (property == QLatin1String("State")) {
|
||||
+ d->state = NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state());
|
||||
+ Q_EMIT stateChanged(d->state);
|
||||
+ }
|
||||
+#if NM_CHECK_VERSION(0, 9, 10)
|
||||
+ if (property == QLatin1String("Ip4Config")) {
|
||||
+ d->ipV4ConfigPath = d->iface.ip4Config().path();
|
||||
+ Q_EMIT ipV4ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Ip6Config")) {
|
||||
+ d->ipV6ConfigPath = d->iface.ip6Config().path();
|
||||
+ Q_EMIT ipV6ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Dhcp4Config")) {
|
||||
+ d->dhcp4ConfigPath = d->iface.dhcp4Config().path();
|
||||
+ Q_EMIT dhcp4ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Dhcp6Config")) {
|
||||
+ d->dhcp6ConfigPath = d->iface.dhcp6Config().path();
|
||||
+ Q_EMIT dhcp6ConfigChanged();
|
||||
+ }
|
||||
+#endif
|
||||
+ });
|
||||
+ }
|
||||
}
|
||||
|
||||
NetworkManager::ActiveConnection::ActiveConnection(ActiveConnectionPrivate &dd, QObject *parent)
|
||||
@@ -151,36 +181,66 @@ NetworkManager::ActiveConnection::ActiveConnection(ActiveConnectionPrivate &dd,
|
||||
* Workaround: Re-check connection state before we watch changes in case it gets changed too quickly
|
||||
* BUG:352326
|
||||
*/
|
||||
+ QStringList properties;
|
||||
+ const QDBusObjectPath ip4ConfigObjectPath = d->iface.ip4Config();
|
||||
+ const QDBusObjectPath ip6ConfigObjectPath = d->iface.ip6Config();
|
||||
+ const QDBusObjectPath dhcp4ConfigObjectPath = d->iface.dhcp4Config();
|
||||
+ const QDBusObjectPath dhcp6ConfigObjectPath = d->iface.dhcp6Config();
|
||||
+
|
||||
if (d->state != NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state())) {
|
||||
- d->state = NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state());
|
||||
- Q_EMIT stateChanged(d->state);
|
||||
+ properties << QLatin1String("State");
|
||||
}
|
||||
|
||||
#if NM_CHECK_VERSION(0, 9, 10)
|
||||
- QDBusObjectPath ip4ConfigObjectPath = d->iface.ip4Config();
|
||||
if (!ip4ConfigObjectPath.path().isNull() && ip4ConfigObjectPath.path() != d->ipV4ConfigPath) {
|
||||
- d->ipV4ConfigPath = ip4ConfigObjectPath.path();
|
||||
- Q_EMIT ipV4ConfigChanged();
|
||||
+ properties << QLatin1String("Ip4Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath ip6ConfigObjectPath = d->iface.ip6Config();
|
||||
if (!ip6ConfigObjectPath.path().isNull() && ip6ConfigObjectPath.path() != d->ipV6ConfigPath) {
|
||||
- d->ipV6ConfigPath = ip6ConfigObjectPath.path();
|
||||
- Q_EMIT ipV6ConfigChanged();
|
||||
+ properties << QLatin1String("Ip6Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath dhcp4ConfigObjectPath = d->iface.dhcp4Config();
|
||||
if (!dhcp4ConfigObjectPath.path().isNull() && dhcp4ConfigObjectPath.path() != d->dhcp4ConfigPath) {
|
||||
- d->dhcp4ConfigPath = dhcp4ConfigObjectPath.path();
|
||||
- Q_EMIT dhcp4ConfigChanged();
|
||||
+ properties << QLatin1String("Dhcp4Config");
|
||||
}
|
||||
|
||||
- QDBusObjectPath dhcp6ConfigObjectPath = d->iface.dhcp6Config();
|
||||
if (!dhcp6ConfigObjectPath.path().isNull() && dhcp6ConfigObjectPath.path() != d->dhcp6ConfigPath) {
|
||||
- d->dhcp6ConfigPath = dhcp6ConfigObjectPath.path();
|
||||
- Q_EMIT dhcp6ConfigChanged();
|
||||
+ properties << QLatin1String("Dhcp6Config");
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+ Q_FOREACH (const QString &property, properties) {
|
||||
+ QDBusMessage message = QDBusMessage::createMethodCall(NetworkManager::NetworkManagerPrivate::DBUS_SERVICE,
|
||||
+ NetworkManager::NetworkManagerPrivate::DBUS_DAEMON_PATH,
|
||||
+ NetworkManager::NetworkManagerPrivate::FDO_DBUS_PROPERTIES,
|
||||
+ QLatin1String("Get"));
|
||||
+ message << d->iface.staticInterfaceName() << property;
|
||||
+
|
||||
+ QDBusPendingCall pendingCall = QDBusConnection::systemBus().asyncCall(message);
|
||||
+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pendingCall, this);
|
||||
+
|
||||
+ connect(watcher, &QDBusPendingCallWatcher::finished, [d, this, property] () {
|
||||
+ if (property == QLatin1String("State")) {
|
||||
+ d->state = NetworkManager::ActiveConnectionPrivate::convertActiveConnectionState(d->iface.state());
|
||||
+ Q_EMIT stateChanged(d->state);
|
||||
+ }
|
||||
+#if NM_CHECK_VERSION(0, 9, 10)
|
||||
+ if (property == QLatin1String("Ip4Config")) {
|
||||
+ d->ipV4ConfigPath = d->iface.ip4Config().path();
|
||||
+ Q_EMIT ipV4ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Ip6Config")) {
|
||||
+ d->ipV6ConfigPath = d->iface.ip6Config().path();
|
||||
+ Q_EMIT ipV6ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Dhcp4Config")) {
|
||||
+ d->dhcp4ConfigPath = d->iface.dhcp4Config().path();
|
||||
+ Q_EMIT dhcp4ConfigChanged();
|
||||
+ } else if (property == QLatin1String("Dhcp6Config")) {
|
||||
+ d->dhcp6ConfigPath = d->iface.dhcp6Config().path();
|
||||
+ Q_EMIT dhcp6ConfigChanged();
|
||||
+ }
|
||||
+#endif
|
||||
+ });
|
||||
+ }
|
||||
}
|
||||
|
||||
NetworkManager::ActiveConnection::~ActiveConnection()
|
Loading…
Reference in new issue