static void enterprise_permit_user_login (GisAccountPageEnterprise *page, UmRealmObject *realm) { GisAccountPageEnterprisePrivate *priv = gis_account_page_enterprise_get_instance_private (page); UmRealmCommon *common; gchar *login; const gchar *add[2]; const gchar *remove[1]; GVariant *options; common = um_realm_object_get_common (realm); login = um_realm_calculate_login (common, gtk_entry_get_text (GTK_ENTRY (priv->login))); g_return_if_fail (login != NULL); add[0] = login; add[1] = NULL; remove[0] = NULL; g_debug ("Permitting login for: %s", login); options = g_variant_new_array (G_VARIANT_TYPE ("{sv}"), NULL, 0); um_realm_common_call_change_login_policy (common, "", add, remove, options, priv->cancellable, on_permit_user_login, page); g_object_unref (common); g_free (login); }
static void enterprise_permit_user_login (UmAccountDialog *self) { UmRealmCommon *common; gchar *login; const gchar *add[2]; const gchar *remove[1]; GVariant *options; common = um_realm_object_get_common (self->selected_realm); login = um_realm_calculate_login (common, gtk_entry_get_text (self->enterprise_login)); g_return_if_fail (login != NULL); add[0] = login; add[1] = NULL; remove[0] = NULL; g_debug ("Permitting login for: %s", login); options = g_variant_new_array (G_VARIANT_TYPE ("{sv}"), NULL, 0); um_realm_common_call_change_login_policy (common, "", add, remove, options, self->cancellable, on_permit_user_login, g_object_ref (self)); g_object_unref (common); g_free (login); }
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); }
gboolean um_realm_is_configured (UmRealmObject *realm) { UmRealmCommon *common; const gchar *configured; gboolean is = FALSE; common = um_realm_object_get_common (realm); if (common) { configured = um_realm_common_get_configured (common); is = configured != NULL && !g_str_equal (configured, ""); g_object_unref (common); } return is; }