static void on_join_login (GObject *source, GAsyncResult *result, gpointer user_data) { GisAccountPageEnterprise *page = user_data; GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page); GError *error = NULL; GBytes *creds; um_realm_login_finish (priv->realm, result, &creds, &error); /* Logged in as admin successfully, use creds to join domain */ if (error == NULL) { if (!um_realm_join_as_admin (priv->realm, gtk_entry_get_text (GTK_ENTRY (priv->join_name)), gtk_entry_get_text (GTK_ENTRY (priv->join_password)), creds, NULL, on_realm_joined, page)) { show_error_dialog (page, _("No supported way to authenticate with this domain"), NULL); g_message ("Authenticating as admin is not supported by the realm"); } g_bytes_unref (creds); /* Couldn't login as admin, show prompt again */ } else { join_show_prompt (page, error); g_message ("Couldn't log in as admin to join domain: %s", error->message); g_error_free (error); } }
static void on_join_login (GObject *source, GAsyncResult *result, gpointer user_data) { UmAccountDialog *self = UM_ACCOUNT_DIALOG (user_data); GError *error = NULL; GBytes *creds; um_realm_login_finish (result, &creds, &error); /* Logged in as admin successfully, use creds to join domain */ if (error == NULL) { if (!um_realm_join_as_admin (self->selected_realm, gtk_entry_get_text (self->join_name), gtk_entry_get_text (self->join_password), creds, self->cancellable, on_realm_joined, g_object_ref (self))) { show_error_dialog (self, _("No supported way to authenticate with this domain"), NULL); g_message ("Authenticating as admin is not supported by the realm"); finish_action (self); } g_bytes_unref (creds); /* Couldn't login as admin, show prompt again */ } else { join_show_prompt (self, error); g_message ("Couldn't log in as admin to join domain: %s", error->message); g_error_free (error); } g_object_unref (self); }