[PolicyKit-gnome] Don't use a status icon for temporary authorizations
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [PolicyKit-gnome] Don't use a status icon for temporary authorizations
- Date: Thu, 27 Jan 2011 18:43:29 +0000 (UTC)
commit 8e4f3edcc7a74c6f77a30ec7b551e828812fc3f9
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Jan 27 13:43:08 2011 -0500
Don't use a status icon for temporary authorizations
Patch by William Jon McCann.
https://bugzilla.gnome.org/show_bug.cgi?id=631761
src/main.c | 168 ------------------------------------------------------------
1 files changed, 0 insertions(+), 168 deletions(-)
---
diff --git a/src/main.c b/src/main.c
index 7da11e9..b02b8f7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -36,168 +36,6 @@ static PolkitAuthority *authority = NULL;
/* the session we are servicing */
static PolkitSubject *session = NULL;
-/* the current set of temporary authorizations */
-static GList *current_temporary_authorizations = NULL;
-
-static GtkStatusIcon *status_icon = NULL;
-
-static void
-revoke_tmp_authz_cb (GObject *source_object,
- GAsyncResult *res,
- gpointer user_data)
-{
- GError *error;
-
- error = NULL;
- polkit_authority_revoke_temporary_authorizations_finish (POLKIT_AUTHORITY (source_object),
- res,
- &error);
- if (error != NULL)
- {
- g_warning ("Error revoking temporary authorizations: %s", error->message);
- g_error_free (error);
- }
-}
-
-static void
-revoke_tmp_authz (void)
-{
- polkit_authority_revoke_temporary_authorizations (authority,
- session,
- NULL,
- revoke_tmp_authz_cb,
- NULL);
-}
-
-static void
-on_status_icon_activate (GtkStatusIcon *status_icon,
- gpointer user_data)
-{
- revoke_tmp_authz ();
-}
-
-static void
-on_status_icon_popup_menu (GtkStatusIcon *status_icon,
- guint button,
- guint activate_time,
- gpointer user_data)
-{
- revoke_tmp_authz ();
-}
-
-static void
-update_temporary_authorization_icon_real (void)
-{
-
-#if 0
- GList *l;
- g_debug ("have %d tmp authorizations", g_list_length (current_temporary_authorizations));
- for (l = current_temporary_authorizations; l != NULL; l = l->next)
- {
- PolkitTemporaryAuthorization *authz = POLKIT_TEMPORARY_AUTHORIZATION (l->data);
-
- g_debug ("have tmp authz for action %s (subject %s) with id %s (obtained %d, expires %d)",
- polkit_temporary_authorization_get_action_id (authz),
- polkit_subject_to_string (polkit_temporary_authorization_get_subject (authz)),
- polkit_temporary_authorization_get_id (authz),
- (gint) polkit_temporary_authorization_get_time_obtained (authz),
- (gint) polkit_temporary_authorization_get_time_expires (authz));
- }
-#endif
-
- /* TODO:
- *
- * - we could do something fancy like displaying a window with the tmp authz
- * when the icon is clicked...
- *
- * - we could do some work using polkit_subject_exists() to ignore tmp authz
- * for subjects that no longer exists.. this is because temporary authorizations
- * are only valid for the subject that trigger the authentication dialog.
- *
- * Maybe the authority could do this, would probably involve some polling, but
- * it seems cleaner to do this server side.
- */
-
- if (current_temporary_authorizations != NULL)
- {
- /* show icon */
- if (status_icon == NULL)
- {
- status_icon = gtk_status_icon_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION);
- gtk_status_icon_set_tooltip_text (status_icon,
- _("Click the icon to drop all elevated privileges"));
- g_signal_connect (status_icon,
- "activate",
- G_CALLBACK (on_status_icon_activate),
- NULL);
- g_signal_connect (status_icon,
- "popup-menu",
- G_CALLBACK (on_status_icon_popup_menu),
- NULL);
- }
- }
- else
- {
- /* hide icon */
- if (status_icon != NULL)
- {
- gtk_status_icon_set_visible (status_icon, FALSE);
- g_object_unref (status_icon);
- status_icon = NULL;
- }
- }
-}
-
-static void
-enumerate_temporary_authorizations_cb (GObject *source_object,
- GAsyncResult *res,
- gpointer user_data)
-{
- PolkitAuthority *authority = POLKIT_AUTHORITY (source_object);
- GList *temporary_authorizations;
- GError *error;
-
- temporary_authorizations = NULL;
-
- error = NULL;
- temporary_authorizations = polkit_authority_enumerate_temporary_authorizations_finish (authority,
- res,
- &error);
- if (error != NULL)
- {
- g_warning ("Error enumerating temporary authorizations: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- g_list_foreach (current_temporary_authorizations, (GFunc) g_object_unref, NULL);
- g_list_free (current_temporary_authorizations);
-
- current_temporary_authorizations = temporary_authorizations;
-
- update_temporary_authorization_icon_real ();
-
- out:
- ;
-}
-
-static void
-update_temporary_authorization_icon (PolkitAuthority *authority)
-{
- polkit_authority_enumerate_temporary_authorizations (authority,
- session,
- NULL,
- enumerate_temporary_authorizations_cb,
- NULL);
-}
-
-static void
-on_authority_changed (PolkitAuthority *authority,
- gpointer user_data)
-{
- update_temporary_authorization_icon (authority);
-}
-
int
main (int argc, char **argv)
{
@@ -231,10 +69,6 @@ main (int argc, char **argv)
g_error_free (error);
goto out;
}
- g_signal_connect (authority,
- "changed",
- G_CALLBACK (on_authority_changed),
- NULL);
listener = polkit_gnome_listener_new ();
@@ -258,8 +92,6 @@ main (int argc, char **argv)
goto out;
}
- update_temporary_authorization_icon (authority);
-
g_main_loop_run (loop);
ret = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]