static gchar * realm_get_name (UmRealmObject *realm) { UmRealmCommon *common; gchar *name; common = um_realm_object_get_common (realm); name = g_strdup (um_realm_common_get_name (common)); g_object_unref (common); return name; }
static void enterprise_add_realm (UmAccountDialog *self, UmRealmObject *realm) { GtkTreeModel *model; GtkTreeIter iter; UmRealmCommon *common; const gchar *realm_name; gboolean match; gboolean ret; gchar *name; common = um_realm_object_get_common (realm); realm_name = um_realm_common_get_name (common); /* * Don't add a second realm if we already have one with this name. * Sometimes realmd returns to realms for the same name, if it has * different ways to use that realm. The first one that realmd * returns is the one it prefers. */ model = GTK_TREE_MODEL (self->enterprise_realms); ret = gtk_tree_model_get_iter_first (model, &iter); while (ret) { gtk_tree_model_get (model, &iter, 0, &name, -1); match = (g_strcmp0 (name, realm_name) == 0); g_free (name); if (match) { g_debug ("ignoring duplicate realm: %s", realm_name); return; } ret = gtk_tree_model_iter_next (model, &iter); } gtk_list_store_append (self->enterprise_realms, &iter); gtk_list_store_set (self->enterprise_realms, &iter, 0, realm_name, 1, realm, -1); g_debug ("added realm to drop down: %s %s", realm_name, g_dbus_object_get_object_path (G_DBUS_OBJECT (realm))); if (!self->enterprise_domain_chosen && um_realm_is_configured (realm)) gtk_combo_box_set_active_iter (self->enterprise_domain, &iter); g_object_unref (common); }
gchar * um_realm_calculate_login (UmRealmCommon *realm, const gchar *username) { GString *string; const gchar *const *formats; gchar *login = NULL; formats = um_realm_common_get_login_formats (realm); if (formats[0] != NULL) { string = g_string_new (formats[0]); string_replace (string, "%U", username); string_replace (string, "%D", um_realm_common_get_name (realm)); login = g_string_free (string, FALSE); } return login; }