Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Sommer <joerg@alea.gnuu.de>2017-04-20 00:46:31 +0300
committerJörg Sommer <joerg@alea.gnuu.de>2017-04-20 00:49:28 +0300
commit3c4309209a318a18dcc22ffaf0d6150d92372cb9 (patch)
treec7e75c3ae9ba6eb2073caee723711deb79f2ea93
parent77e197843e9037e5ad0a3d3d5208b41a06e908a6 (diff)
network_watcher: Add support for systemd-networkd
The systemd-networkd uses another D-Bus interface and different messages than Network Manager.
-rw-r--r--src/network_watcher.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/network_watcher.py b/src/network_watcher.py
index c6c3687bd..0bc4edddf 100644
--- a/src/network_watcher.py
+++ b/src/network_watcher.py
@@ -5,6 +5,7 @@
## Nikos Kouremenos <kourem AT gmail.com>
## Stefan Bethge <stefan AT lanpartei.de>
## Copyright (C) 2006-2017 Yann Leboulanger <asterix AT lagaule.org>
+## Copyright (C) 2017 Jörg Sommer <joerg@alea.gnuu.de>
##
## This file is part of Gajim.
##
@@ -82,3 +83,14 @@ if dbus_support.supported:
'/org/freedesktop/NetworkManager')
except Exception:
pass
+ elif 'org.freedesktop.network1' in bus.list_names():
+ """
+ For systemd-networkd
+ """
+ def state_changed(sender, data, junk):
+ if 'OperationalState' in data:
+ update_accounts(connection_is_up = data['OperationalState'] == 'routable')
+
+ bus.add_signal_receiver(state_changed, 'PropertiesChanged',
+ path = '/org/freedesktop/network1')
+ supported = True