examples: fix up active connection example
This commit is contained in:
@@ -27,19 +27,29 @@ import dbus, sys
|
|||||||
bus = dbus.SystemBus()
|
bus = dbus.SystemBus()
|
||||||
|
|
||||||
# Get a proxy for the base NetworkManager object
|
# Get a proxy for the base NetworkManager object
|
||||||
proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
|
m_proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager")
|
||||||
manager = dbus.Interface(proxy, "org.freedesktop.NetworkManager")
|
manager = dbus.Interface(m_proxy, "org.freedesktop.NetworkManager")
|
||||||
settings = dbus.Interface(proxy, "org.freedesktop.NetworkManager.Settings")
|
mgr_props = dbus.Interface(m_proxy, "org.freedesktop.DBus.Properties")
|
||||||
mgr_props = dbus.Interface(proxy, "org.freedesktop.DBus.Properties")
|
|
||||||
|
s_proxy = bus.get_object("org.freedesktop.NetworkManager", "/org/freedesktop/NetworkManager/Settings")
|
||||||
|
settings = dbus.Interface(s_proxy, "org.freedesktop.NetworkManager.Settings")
|
||||||
|
|
||||||
# Find the device the user wants to disconnect
|
# Find the device the user wants to disconnect
|
||||||
active = mgr_props.Get("org.freedesktop.NetworkManager", "ActiveConnections")
|
active = mgr_props.Get("org.freedesktop.NetworkManager", "ActiveConnections")
|
||||||
for a in active:
|
for a in active:
|
||||||
a_proxy = bus.get_object("org.freedesktop.NetworkManager", a)
|
a_proxy = bus.get_object("org.freedesktop.NetworkManager", a)
|
||||||
|
|
||||||
|
# Get the UUID directly; apps could use this to perform certain operations
|
||||||
|
# based on which network you're connected too
|
||||||
a_props = dbus.Interface(a_proxy, "org.freedesktop.DBus.Properties")
|
a_props = dbus.Interface(a_proxy, "org.freedesktop.DBus.Properties")
|
||||||
uuid = prop_iface.Get("org.freedesktop.NetworkManager.Connection.Active", "Uuid")
|
uuid = a_props.Get("org.freedesktop.NetworkManager.Connection.Active", "Uuid")
|
||||||
connection = settings.GetConnectionByUuid(uuid)
|
|
||||||
print "%s (%s)" % (connection['connection']['id'], uuid)
|
# Grab the connection object path so we can get all the connection's settings
|
||||||
|
connection_path = a_props.Get("org.freedesktop.NetworkManager.Connection.Active", "Connection")
|
||||||
|
c_proxy = bus.get_object("org.freedesktop.NetworkManager", connection_path)
|
||||||
|
connection = dbus.Interface(c_proxy, "org.freedesktop.NetworkManager.Settings.Connection")
|
||||||
|
settings = connection.GetSettings()
|
||||||
|
print "%s (%s)" % (settings['connection']['id'], uuid)
|
||||||
|
|
||||||
if len(active) == 0:
|
if len(active) == 0:
|
||||||
print "No active connections"
|
print "No active connections"
|
||||||
|
Reference in New Issue
Block a user