static void fetch_connections_done (DBusGProxy *proxy, GPtrArray *connections, GError *error, gpointer user_data) { NMRemoteSettings *self = NM_REMOTE_SETTINGS (user_data); NMRemoteSettingsPrivate *priv = NM_REMOTE_SETTINGS_GET_PRIVATE (self); int i; if (error) { g_warning ("%s: error fetching %s connections: (%d) %s.", __func__, priv->scope == NM_CONNECTION_SCOPE_USER ? "user" : "system", error->code, error->message ? error->message : "(unknown)"); g_clear_error (&error); return; } /* Let listeners know we are done getting connections */ if (connections->len == 0) { g_signal_emit_by_name (self, NM_SETTINGS_INTERFACE_CONNECTIONS_READ); return; } for (i = 0; connections && (i < connections->len); i++) { char *path = g_ptr_array_index (connections, i); new_connection_cb (proxy, path, user_data); g_free (path); } g_ptr_array_free (connections, TRUE); }
static void fetch_connections_done (DBusGProxy *proxy, GPtrArray *connections, GError *error, gpointer user_data) { BMRemoteSettings *self = BM_REMOTE_SETTINGS (user_data); BMRemoteSettingsPrivate *priv = BM_REMOTE_SETTINGS_GET_PRIVATE (self); int i; if (error) { gboolean is_spawn_error = FALSE; /* Don't warn if the user settings service wasn't running since that's * just annoying when running headless. */ if ( g_error_matches (error, DBUS_GERROR, DBUS_GERROR_SERVICE_UNKNOWN) || g_error_matches (error, DBUS_GERROR, DBUS_GERROR_NAME_HAS_NO_OWNER)) is_spawn_error = TRUE; if (!is_spawn_error || priv->scope == BM_CONNECTION_SCOPE_SYSTEM) { g_warning ("%s: error fetching %s connections: (%d) %s.", __func__, priv->scope == BM_CONNECTION_SCOPE_USER ? "user" : "system", error->code, error->message ? error->message : "(unknown)"); } g_clear_error (&error); /* We tried to read connections and failed */ g_signal_emit_by_name (self, BM_SETTINGS_INTERFACE_CONNECTIONS_READ); return; } /* Let listeners know we are done getting connections */ if (connections->len == 0) { g_signal_emit_by_name (self, BM_SETTINGS_INTERFACE_CONNECTIONS_READ); return; } for (i = 0; connections && (i < connections->len); i++) { char *path = g_ptr_array_index (connections, i); new_connection_cb (proxy, path, user_data); g_free (path); } g_ptr_array_free (connections, TRUE); }
static void add_connection_done (DBusGProxy *proxy, DBusGProxyCall *call, gpointer user_data) { AddConnectionInfo *info = user_data; GError *error = NULL; char *path = NULL; if (dbus_g_proxy_end_call (proxy, call, &error, DBUS_TYPE_G_OBJECT_PATH, &path, G_TYPE_INVALID)) { info->connection = new_connection_cb (proxy, path, info->self); g_assert (info->connection); /* Wait until this connection is fully initialized before calling the callback */ g_free (path); } else add_connection_info_complete (info->self, info, error); g_clear_error (&error); }
static void fetch_connections_done (DBusGProxy *proxy, GPtrArray *connections, GError *error, gpointer user_data) { NMRemoteSettings *self = NM_REMOTE_SETTINGS (user_data); NMRemoteSettingsPrivate *priv = NM_REMOTE_SETTINGS_GET_PRIVATE (self); int i; if (error) { /* Ignore settings service spawn errors */ if ( !g_error_matches (error, DBUS_GERROR, DBUS_GERROR_SERVICE_UNKNOWN) && !g_error_matches (error, DBUS_GERROR, DBUS_GERROR_NAME_HAS_NO_OWNER)) { g_warning ("%s: error fetching connections: (%d) %s.", __func__, error->code, error->message ? error->message : "(unknown)"); } g_clear_error (&error); /* We tried to read connections and failed */ g_signal_emit (self, signals[CONNECTIONS_READ], 0); return; } /* Let listeners know we are done getting connections */ if (connections->len == 0) g_signal_emit (self, signals[CONNECTIONS_READ], 0); else { priv->init_left = connections->len; for (i = 0; i < connections->len; i++) { char *path = g_ptr_array_index (connections, i); new_connection_cb (proxy, path, user_data); g_free (path); } } g_ptr_array_free (connections, TRUE); }