diff --git a/libnm/nm-client.c b/libnm/nm-client.c index e2c1ea751f..3c64891eed 100644 --- a/libnm/nm-client.c +++ b/libnm/nm-client.c @@ -1476,14 +1476,24 @@ nm_client_deactivate_connection (NMClient *client, GCancellable *cancellable, GError **error) { + const char *active_path; + g_return_val_if_fail (NM_IS_CLIENT (client), FALSE); g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (active), FALSE); - if (!nm_client_get_nm_running (client)) - return TRUE; + active_path = nm_object_get_path (NM_OBJECT (active)); + g_return_val_if_fail (active_path, FALSE); - return nm_manager_deactivate_connection (NM_CLIENT_GET_PRIVATE (client)->manager, - active, cancellable, error); + return _nm_object_dbus_call_sync_void (client, + cancellable, + NM_DBUS_PATH, + NM_DBUS_INTERFACE, + "DeactivateConnection", + g_variant_new ("(o)", active_path), + G_DBUS_CALL_FLAGS_NONE, + NM_DBUS_DEFAULT_TIMEOUT_MSEC, + TRUE, + error); } static void diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c index 11a7796572..bc0a6f146d 100644 --- a/libnm/nm-manager.c +++ b/libnm/nm-manager.c @@ -1271,27 +1271,6 @@ checkpoint_added (NMManager *manager, NMCheckpoint *checkpoint) checkpoint_info_complete (manager, info, checkpoint, NULL); } -gboolean -nm_manager_deactivate_connection (NMManager *manager, - NMActiveConnection *active, - GCancellable *cancellable, - GError **error) -{ - const char *path; - gboolean ret; - - g_return_val_if_fail (NM_IS_MANAGER (manager), FALSE); - g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (active), FALSE); - - path = nm_object_get_path (NM_OBJECT (active)); - ret = nmdbus_manager_call_deactivate_connection_sync (NM_MANAGER_GET_PRIVATE (manager)->proxy, - path, - cancellable, error); - if (error && *error) - g_dbus_error_strip_remote_error (*error); - return ret; -} - static void deactivated_cb (GObject *object, GAsyncResult *result, diff --git a/libnm/nm-manager.h b/libnm/nm-manager.h index e9c09c62c5..6c738103ea 100644 --- a/libnm/nm-manager.h +++ b/libnm/nm-manager.h @@ -180,11 +180,6 @@ NMActiveConnection *nm_manager_add_and_activate_connection_finish (NMManager *ma GVariant **out_result, GError **error); -_NM_DEPRECATED_SYNC_METHOD_INTERNAL -gboolean nm_manager_deactivate_connection (NMManager *manager, - NMActiveConnection *active, - GCancellable *cancellable, - GError **error); void nm_manager_deactivate_connection_async (NMManager *manager, NMActiveConnection *active, GCancellable *cancellable,