[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