[PolicyKit-gnome] Don't use a status icon for temporary authorizations



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]