diff options
author | Dan Williams <dcbw@redhat.com> | 2015-07-20 17:30:02 -0500 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-11-11 10:56:20 +0100 |
commit | cd9772280509a829d5e8efc46b74aa35b481d236 (patch) | |
tree | 1558bf8ab30afbe01236e0447e74382102a5ba4c /src/nm-manager.c | |
parent | 8d1233e67e0db2c53717d9bd1bf9935958ffd79a (diff) | |
download | NetworkManager-dcbw/gdbus-object-manager.tar.gz |
exported-object: add support for DBus ObjectManager interfacedcbw/gdbus-object-manager
NMExportedObject now derives from GDBusObjectSkeleton, which is what
GDBusObjectManagerServer wants. The main GDBusConnection and each
private server connection now gets a new GDBusObjectManagerServer,
and exported objects are registered with that instead of individually
exporting each GDBusInterfaceSkeleton.
Previously exported objects were not referenced by the BusManager,
but instead removed from the exports hash via weak references. The
GDBusObjectManagerServer instead references exported objects, which
can make them live much longer than they did before.
Co-Authored-By: Thomas Haller <thaller@redhat.com>
Diffstat (limited to 'src/nm-manager.c')
-rw-r--r-- | src/nm-manager.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index 5cba730fec..bb92a13f38 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -4461,7 +4461,7 @@ prop_set_auth_done_cb (NMAuthChain *chain, NMAuthCallResult result; GDBusMessage *reply = NULL; const char *error_message; - NMExportedObject *object; + gs_unref_object NMExportedObject *object = NULL; const NMGlobalDnsConfig *global_dns; gs_unref_variant GVariant *value = NULL; GVariant *args; @@ -4477,8 +4477,8 @@ prop_set_auth_done_cb (NMAuthChain *chain, goto done; } - object = nm_bus_manager_get_registered_object (priv->dbus_mgr, - g_dbus_message_get_path (pfd->message)); + object = NM_EXPORTED_OBJECT (nm_bus_manager_get_registered_object (priv->dbus_mgr, + g_dbus_message_get_path (pfd->message))); if (!object) { reply = g_dbus_message_new_method_error (pfd->message, "org.freedesktop.DBus.Error.UnknownObject", |