[Goodies-commits] r7153 - in xfce4-power-manager/trunk: . src

Ali Abdallah aliov at xfce.org
Fri Apr 10 12:24:05 CEST 2009


Author: aliov
Date: 2009-04-10 10:24:05 +0000 (Fri, 10 Apr 2009)
New Revision: 7153

Modified:
   xfce4-power-manager/trunk/ChangeLog
   xfce4-power-manager/trunk/src/xfpm-button.c
   xfce4-power-manager/trunk/src/xfpm-shutdown.c
   xfce4-power-manager/trunk/src/xfpm-shutdown.h
Log:
Provide a wake up signal to avoid possible multiple sleep/hibernate request

Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog	2009-04-10 10:00:36 UTC (rev 7152)
+++ xfce4-power-manager/trunk/ChangeLog	2009-04-10 10:24:05 UTC (rev 7153)
@@ -1,4 +1,7 @@
 
+2009-04-10 12:24 Ali aliov at xfce.org 
+	 * : Provide a wake up signal to avoid possible multiple sleep/hibernate request
+
 2009-04-10 12:00 Ali aliov at xfce.org 
 	 * : Fall back to HAL in case we fail to map X11 keys
 

Modified: xfce4-power-manager/trunk/src/xfpm-button.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-button.c	2009-04-10 10:00:36 UTC (rev 7152)
+++ xfce4-power-manager/trunk/src/xfpm-button.c	2009-04-10 10:24:05 UTC (rev 7153)
@@ -31,6 +31,7 @@
 #include "xfpm-button.h"
 #include "xfpm-button-xf86.h"
 #include "xfpm-button-hal.h"
+#include "xfpm-shutdown.h"
 #include "xfpm-enum.h"
 #include "xfpm-enum-types.h"
 
@@ -48,6 +49,7 @@
 {
     XfpmButtonXf86 *xf86;
     XfpmButtonHal  *hal;
+    XfpmShutdown   *shutdown;
     GTimer         *timer;
 };
 
@@ -93,6 +95,12 @@
 }
 
 static void
+xfpm_button_waking_up_cb (XfpmShutdown *shutdown, XfpmButton *button)
+{
+    g_timer_reset (button->priv->timer);
+}
+
+static void
 xfpm_button_class_init (XfpmButtonClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
@@ -120,6 +128,7 @@
     button->priv = XFPM_BUTTON_GET_PRIVATE (button);
     button->priv->xf86 = xfpm_button_xf86_new ();
     button->priv->timer = g_timer_new ();
+    button->priv->shutdown = xfpm_shutdown_new ();
     
     xf86_mapped = xfpm_button_xf86_get_mapped_buttons (button->priv->xf86);
 
@@ -137,6 +146,9 @@
 		      
     g_signal_connect (button->priv->hal, "hal-button-pressed",
 		      G_CALLBACK (xfpm_button_hal_button_pressed_cb), button);
+		      
+    g_signal_connect (button->priv->shutdown, "waking-up",
+		      G_CALLBACK (xfpm_button_waking_up_cb), button);
 }
 
 static void
@@ -148,6 +160,7 @@
     
     g_object_unref (button->priv->hal);
     g_object_unref (button->priv->xf86);
+    g_object_unref (button->priv->shutdown);
     
     g_timer_destroy (button->priv->timer);
 

Modified: xfce4-power-manager/trunk/src/xfpm-shutdown.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-shutdown.c	2009-04-10 10:00:36 UTC (rev 7152)
+++ xfce4-power-manager/trunk/src/xfpm-shutdown.c	2009-04-10 10:24:05 UTC (rev 7153)
@@ -77,6 +77,14 @@
     PROP_CAN_HIBERNATE,
 };
 
+enum
+{
+    WAKING_UP,
+    LAST_SIGNAL
+};
+
+static guint signals [LAST_SIGNAL] = { 0 };
+
 static gpointer xfpm_shutdown_object = NULL;
 
 G_DEFINE_TYPE(XfpmShutdown, xfpm_shutdown, G_TYPE_OBJECT)
@@ -143,6 +151,15 @@
 {
     GObjectClass *object_class = G_OBJECT_CLASS(klass);
 
+    signals[WAKING_UP] = 
+        g_signal_new("waking-up",
+                      XFPM_TYPE_SHUTDOWN,
+                      G_SIGNAL_RUN_LAST,
+                      G_STRUCT_OFFSET(XfpmShutdownClass, waking_up),
+                      NULL, NULL,
+                      g_cclosure_marshal_VOID__VOID,
+                      G_TYPE_NONE, 0, G_TYPE_NONE);
+
     object_class->get_property = xfpm_shutdown_get_property;
     g_object_class_install_property(object_class,
 				    PROP_CALLER_PRIVILEGE,
@@ -409,6 +426,7 @@
 	}
 	g_error_free (error_internal);
     }
+    g_signal_emit (G_OBJECT (shutdown), signals [WAKING_UP], 0);
 }
 
 void xfpm_suspend (XfpmShutdown *shutdown, GError **error)
@@ -438,6 +456,7 @@
 	}
 	g_error_free (error_internal);
     }
+    g_signal_emit (G_OBJECT (shutdown), signals [WAKING_UP], 0);
 }
 
 void xfpm_shutdown_reload (XfpmShutdown *shutdown)

Modified: xfce4-power-manager/trunk/src/xfpm-shutdown.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-shutdown.h	2009-04-10 10:00:36 UTC (rev 7152)
+++ xfce4-power-manager/trunk/src/xfpm-shutdown.h	2009-04-10 10:24:05 UTC (rev 7153)
@@ -48,6 +48,8 @@
 typedef struct
 {
     GObjectClass 	  parent_class;
+    
+    void		  (*waking_up)			(XfpmShutdown *shutdown);
 	
 } XfpmShutdownClass;
 




More information about the Goodies-commits mailing list