diff options
author | Jörg Sommer <joerg@alea.gnuu.de> | 2017-04-20 00:46:31 +0300 |
---|---|---|
committer | Jörg Sommer <joerg@alea.gnuu.de> | 2017-04-20 00:49:28 +0300 |
commit | 3c4309209a318a18dcc22ffaf0d6150d92372cb9 (patch) | |
tree | c7e75c3ae9ba6eb2073caee723711deb79f2ea93 | |
parent | 77e197843e9037e5ad0a3d3d5208b41a06e908a6 (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.py | 12 |
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 |