static void on_realm_manager_created (GObject *source, GAsyncResult *result, gpointer user_data) { GisAccountPageEnterprise *page = user_data; GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page); GError *error = NULL; GList *realms, *l; g_clear_object (&priv->realm_manager); priv->realm_manager = um_realm_manager_new_finish (result, &error); if (error != NULL) { g_warning ("Couldn't contact realmd service: %s", error->message); g_error_free (error); return; } /* Lookup all the realm objects */ realms = um_realm_manager_get_realms (priv->realm_manager); for (l = realms; l != NULL; l = g_list_next (l)) enterprise_add_realm (page, l->data); g_list_free (realms); g_signal_connect (priv->realm_manager, "realm-added", G_CALLBACK (on_manager_realm_added), page); /* When no realms try to discover a sensible default, triggers realm-added signal */ um_realm_manager_discover (priv->realm_manager, "", NULL, NULL, NULL); gtk_widget_set_visible (GTK_WIDGET (page), TRUE); }
static void on_realm_manager_created (GObject *source, GAsyncResult *result, gpointer user_data) { UmAccountDialog *self = UM_ACCOUNT_DIALOG (user_data); GError *error = NULL; GList *realms, *l; g_clear_object (&self->realm_manager); self->realm_manager = um_realm_manager_new_finish (result, &error); if (error != NULL) { g_warning ("Couldn't contact realmd service: %s", error->message); g_error_free (error); return; } /* Lookup all the realm objects */ realms = um_realm_manager_get_realms (self->realm_manager); for (l = realms; l != NULL; l = g_list_next (l)) enterprise_add_realm (self, l->data); g_list_free (realms); g_signal_connect (self->realm_manager, "realm-added", G_CALLBACK (on_manager_realm_added), self); /* When no realms try to discover a sensible default, triggers realm-added signal */ um_realm_manager_discover (self->realm_manager, "", self->cancellable, NULL, NULL); /* Show the 'Enterprise Login' stuff, and update mode */ gtk_widget_show (self->enterprise_button); mode_change (self, self->mode); }
static void enterprise_add_user (UmAccountDialog *self) { GtkTreeIter iter; begin_action (self); g_clear_object (&self->selected_realm); self->join_prompted = FALSE; /* Already know about this realm, try to login as user */ if (gtk_combo_box_get_active_iter (self->enterprise_domain, &iter)) { gtk_tree_model_get (gtk_combo_box_get_model (self->enterprise_domain), &iter, 1, &self->selected_realm, -1); enterprise_check_login (self); /* Something the user typed, we need to discover realm */ } else { um_realm_manager_discover (self->realm_manager, gtk_entry_get_text (self->enterprise_domain_entry), self->cancellable, on_realm_discover_input, g_object_ref (self)); } }
static void enterprise_add_user (GisAccountPageEnterprise *page) { GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page); GtkTreeIter iter; priv->join_prompted = FALSE; g_clear_object (&priv->realm); /* Already know about this realm, try to login as user */ if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->domain), &iter)) { gtk_tree_model_get (gtk_combo_box_get_model (GTK_COMBO_BOX (priv->domain)), &iter, 1, &priv->realm, -1); enterprise_check_login (page); /* Something the user typed, we need to discover realm */ } else { um_realm_manager_discover (priv->realm_manager, gtk_entry_get_text (GTK_ENTRY (priv->domain_entry)), priv->cancellable, on_realm_discover_input, page); } }