gnome-power-manager r2767 - in trunk: . po src



Author: rhughes
Date: Wed Apr  9 18:18:48 2008
New Revision: 2767
URL: http://svn.gnome.org/viewvc/gnome-power-manager?rev=2767&view=rev

Log:
2008-04-09  Richard Hughes  <richard hughsie com>

* po/POTFILES.in:
* src/Makefile.am:
* src/gpm-backlight.c: (gpm_backlight_get_brightness),
(gpm_backlight_set_brightness),
(gpm_backlight_brightness_evaluate_and_set), (button_pressed_cb),
(brightness_changed_cb), (gpm_backlight_init):
* src/gpm-brightness-hal.c: (gpm_brightness_hal_get_hw),
(gpm_brightness_hal_set_hw), (gpm_brightness_hal_dim_hw_step),
(gpm_brightness_hal_get_step), (gpm_brightness_hal_dim_hw),
(gpm_brightness_hal_set), (gpm_brightness_hal_get),
(gpm_brightness_hal_up), (gpm_brightness_hal_down),
(gpm_brightness_hal_has_hw), (gpm_brightness_hal_finalize),
(gpm_brightness_hal_class_init), (gpm_brightness_hal_init),
(gpm_brightness_hal_new):
* src/gpm-brightness-hal.h:
* src/gpm-brightness-lcd.c:
* src/gpm-brightness-lcd.h:
* src/gpm-common.c: (gpm_percent_to_discrete),
(gpm_discrete_to_percent):
* src/gpm-srv-screensaver.c: (screensaver_auth_request_cb),
(gpm_srv_screensaver_init), (gpm_srv_screensaver_finalize):
Convert the GpmBacklight class to use GpmBrightness and fix up a few issues along the way.


Added:
   trunk/src/gpm-brightness-hal.c
      - copied, changed from r2762, /trunk/src/gpm-brightness-lcd.c
   trunk/src/gpm-brightness-hal.h
      - copied, changed from r2762, /trunk/src/gpm-brightness-lcd.h
Removed:
   trunk/src/gpm-brightness-lcd.c
   trunk/src/gpm-brightness-lcd.h
Modified:
   trunk/ChangeLog
   trunk/po/POTFILES.in
   trunk/src/Makefile.am
   trunk/src/gpm-backlight.c
   trunk/src/gpm-common.c
   trunk/src/gpm-srv-screensaver.c

Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in	(original)
+++ trunk/po/POTFILES.in	Wed Apr  9 18:18:48 2008
@@ -20,8 +20,10 @@
 src/gpm-backlight.c
 src/gpm-brightness-kbd.c
 src/gpm-brightness-kbd.h
-src/gpm-brightness-lcd.c
-src/gpm-brightness-lcd.h
+src/gpm-brightness-hal.c
+src/gpm-brightness-hal.h
+src/gpm-brightness-xrandr.c
+src/gpm-brightness-xrandr.h
 src/gpm-button.c
 src/gpm-button.h
 src/gpm-control.c

Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am	(original)
+++ trunk/src/Makefile.am	Wed Apr  9 18:18:48 2008
@@ -14,6 +14,7 @@
 	$(HAL_CFLAGS)					\
 	$(DBUS_CFLAGS)					\
 	$(GNOME_CFLAGS)					\
+	$(XRANDR_CFLAGS)				\
 	$(LIBNOTIFY_CFLAGS)				\
 	$(GTKUNIQUE_CFLAGS)				\
 	$(GSTREAMER_CFLAGS)				\
@@ -167,8 +168,12 @@
 	gpm-button.c					\
 	gpm-polkit.h					\
 	gpm-polkit.c					\
-	gpm-brightness-lcd.h				\
-	gpm-brightness-lcd.c				\
+	gpm-brightness.h				\
+	gpm-brightness.c				\
+	gpm-brightness-hal.h				\
+	gpm-brightness-hal.c				\
+	gpm-brightness-xrandr.h				\
+	gpm-brightness-xrandr.c				\
 	gpm-brightness-kbd.h				\
 	gpm-brightness-kbd.c				\
 	gpm-light-sensor.h				\
@@ -211,6 +216,7 @@
 	$(GNOME_LIBS)					\
 	$(HAL_LIBS)					\
 	$(DBUS_LIBS)					\
+	$(XRANDR_LIBS)					\
 	$(GPM_EXTRA_LIBS)				\
 	$(LOCAL_LIBHAL_LIBS)				\
 	$(LOCAL_LIBDBUS_LIBS)				\

Modified: trunk/src/gpm-backlight.c
==============================================================================
--- trunk/src/gpm-backlight.c	(original)
+++ trunk/src/gpm-backlight.c	Wed Apr  9 18:18:48 2008
@@ -45,7 +45,7 @@
 #include "gpm-ac-adapter.h"
 #include "gpm-button.h"
 #include "gpm-backlight.h"
-#include "gpm-brightness-lcd.h"
+#include "gpm-brightness.h"
 #include "gpm-conf.h"
 #include "gpm-control.h"
 #include "gpm-common.h"
@@ -65,7 +65,7 @@
 struct GpmBacklightPrivate
 {
 	GpmAcAdapter		*ac_adapter;
-	GpmBrightnessLcd	*brightness;
+	GpmBrightness	*brightness;
 	GpmButton		*button;
 	GpmConf			*conf;
 	GpmFeedback		*feedback;
@@ -285,7 +285,7 @@
 	}
 
 	/* gets the current brightness */
-	ret = gpm_brightness_lcd_get (backlight->priv->brightness, &level);
+	ret = gpm_brightness_get (backlight->priv->brightness, &level);
 	if (ret == TRUE) {
 		*brightness = level;
 	} else {
@@ -320,7 +320,7 @@
 #if 0
 	gboolean ret;
 	/* sets the current policy brightness */
-	ret = gpm_brightness_lcd_set_std (backlight->priv->brightness, brightness);
+	ret = gpm_brightness_set (backlight->priv->brightness, brightness);
 	if (ret == FALSE) {
 		*error = g_error_new (gpm_backlight_error_quark (),
 				      GPM_BACKLIGHT_ERROR_GENERAL,
@@ -428,7 +428,7 @@
 	value = roundf (brightness * 100.0f);
 
 	/* only do stuff if the brightness is different */
-	gpm_brightness_lcd_get (backlight->priv->brightness, &old_value);
+	gpm_brightness_get (backlight->priv->brightness, &old_value);
 	if (old_value == value) {
 		gpm_debug ("values are the same, no action");
 		return FALSE;
@@ -443,7 +443,7 @@
 	gpm_debug ("emitting brightness-changed : %i", value);
 	g_signal_emit (backlight, signals [BRIGHTNESS_CHANGED], 0, value);
 
-	gpm_brightness_lcd_set_std (backlight->priv->brightness, value);
+	gpm_brightness_set (backlight->priv->brightness, value);
 	return TRUE;
 }
 
@@ -515,19 +515,10 @@
 	gpm_debug ("Button press event type=%s", type);
 
 	if (strcmp (type, GPM_BUTTON_BRIGHT_UP) == 0) {
-
-		if (backlight->priv->can_dim == TRUE) {
-			gpm_brightness_lcd_up (backlight->priv->brightness);
-		}
-
+		gpm_brightness_up (backlight->priv->brightness);
 	} else if (strcmp (type, GPM_BUTTON_BRIGHT_DOWN) == 0) {
-
-		if (backlight->priv->can_dim == TRUE) {
-			gpm_brightness_lcd_down (backlight->priv->brightness);
-		}
-
+		gpm_brightness_down (backlight->priv->brightness);
 	} else if (strcmp (type, GPM_BUTTON_LID_OPEN) == 0) {
-
 		/* make sure we undim when we lift the lid */
 		gpm_backlight_brightness_evaluate_and_set (backlight, FALSE);
 		gpm_backlight_sync_policy (backlight);
@@ -676,14 +667,14 @@
 
 /**
  * brightness_changed_cb:
- * @brightness: The GpmBrightnessLcd class instance
+ * @brightness: The GpmBrightness class instance
  * @percentage: The new percentage brightness
  * @brightness: This class instance
  *
  * This callback is called when the brightness value changes.
  **/
 static void
-brightness_changed_cb (GpmBrightnessLcd *brightness,
+brightness_changed_cb (GpmBrightness *brightness,
 		       guint             percentage,
 		       GpmBacklight     *backlight)
 {
@@ -697,7 +688,7 @@
 
 /**
  * brightness_changed_cb:
- * @brightness: The GpmBrightnessLcd class instance
+ * @brightness: The GpmBrightness class instance
  * @percentage: The new percentage brightness
  * @brightness: This class instance
  *
@@ -827,8 +818,13 @@
 	g_signal_connect (backlight->priv->light_sensor, "sensor-changed",
 			  G_CALLBACK (sensor_changed_cb), backlight);
 
+	/* watch for manual brightness changes (for the feedback widget) */
+	backlight->priv->brightness = gpm_brightness_new ();
+	g_signal_connect (backlight->priv->brightness, "brightness-changed",
+			  G_CALLBACK (brightness_changed_cb), backlight);
+
 	/* gets caps */
-	backlight->priv->can_dim = gpm_brightness_lcd_has_hw ();
+	backlight->priv->can_dim = gpm_brightness_has_hw (backlight->priv->brightness);
 	backlight->priv->can_dpms = gpm_dpms_has_hw ();
 	backlight->priv->can_sense = gpm_light_sensor_has_hw (backlight->priv->light_sensor);
 
@@ -882,17 +878,10 @@
 			   GPM_CONF_GNOME_SS_PM_DELAY,
 			   backlight->priv->idle_dim_timeout);
 
-	if (backlight->priv->can_dim == TRUE) {
-		/* watch for manual brightness changes (for the feedback widget) */
-		backlight->priv->brightness = gpm_brightness_lcd_new ();
-		g_signal_connect (backlight->priv->brightness, "brightness-changed",
-				  G_CALLBACK (brightness_changed_cb), backlight);
-
-		/* use a visual widget */
-		backlight->priv->feedback = gpm_feedback_new ();
-		gpm_feedback_set_icon_name (backlight->priv->feedback,
-					    GPM_STOCK_BRIGHTNESS_LCD);
-	}
+	/* use a visual widget */
+	backlight->priv->feedback = gpm_feedback_new ();
+	gpm_feedback_set_icon_name (backlight->priv->feedback,
+				    GPM_STOCK_BRIGHTNESS_LCD);
 
 	if (backlight->priv->can_dpms == TRUE) {
 		/* DPMS mode poll class */

Copied: trunk/src/gpm-brightness-hal.c (from r2762, /trunk/src/gpm-brightness-lcd.c)
==============================================================================
--- /trunk/src/gpm-brightness-lcd.c	(original)
+++ trunk/src/gpm-brightness-hal.c	Wed Apr  9 18:18:48 2008
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
  *
- * Copyright (C) 2005-2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2008 Richard Hughes <richard hughsie com>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -42,18 +42,17 @@
 #include <libhal-gmanager.h>
 #include <libdbus-proxy.h>
 
-#include "gpm-brightness-lcd.h"
+#include "gpm-brightness.h"
+#include "gpm-brightness-hal.h"
 #include "gpm-common.h"
 #include "gpm-debug.h"
 #include "gpm-marshal.h"
 
-#define DIM_INTERVAL		10 /* ms */
+#define GPM_BRIGHTNESS_HAL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_BRIGHTNESS_HAL, GpmBrightnessHalPrivate))
 
-#define GPM_BRIGHTNESS_LCD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_BRIGHTNESS_LCD, GpmBrightnessLcdPrivate))
-
-struct GpmBrightnessLcdPrivate
+struct GpmBrightnessHalPrivate
 {
-	guint			 last_set_hw;		/* hardware */
+	guint			 last_set_hw;
 	guint			 level_std_hw;
 	guint			 levels;
 	gchar			*udi;
@@ -65,29 +64,26 @@
 	LAST_SIGNAL
 };
 
-G_DEFINE_TYPE (GpmBrightnessLcd, gpm_brightness_lcd, G_TYPE_OBJECT)
+G_DEFINE_TYPE (GpmBrightnessHal, gpm_brightness_hal, G_TYPE_OBJECT)
 static guint signals [LAST_SIGNAL] = { 0 };
-static gpointer gpm_brightness_object = NULL;
 
 /**
- * gpm_brightness_lcd_get_hw:
+ * gpm_brightness_hal_get_hw:
  * @brightness: This brightness class instance
  *
- * Updates the private local value of brightness_level_hw as it may have
+ * Updates the private local value of value_hw as it may have
  * changed on some h/w
  * Return value: Success.
  **/
 static gboolean
-gpm_brightness_lcd_get_hw (GpmBrightnessLcd *brightness,
-			   guint	    *brightness_level_hw)
+gpm_brightness_hal_get_hw (GpmBrightnessHal *brightness, guint *value_hw)
 {
 	GError *error = NULL;
 	gboolean ret;
 	DBusGProxy *proxy;
 	gint level = 0;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	proxy = dbus_proxy_get_proxy (brightness->priv->gproxy);
 	if (proxy == NULL) {
@@ -100,8 +96,8 @@
 				 G_TYPE_INT, &level,
 				 G_TYPE_INVALID);
 
-	if (brightness_level_hw != NULL) {
-		*brightness_level_hw = (guint)level;
+	if (value_hw != NULL) {
+		*value_hw = (guint)level;
 	}
 
 	if (error) {
@@ -119,25 +115,23 @@
 }
 
 /**
- * gpm_brightness_lcd_set_hw:
+ * gpm_brightness_hal_set_hw:
  * @brightness: This brightness class instance
- * @brightness_level_hw: The hardware level in raw units
+ * @value_hw: The hardware level in raw units
  *
  * Sets the hardware value to a new number.
  *
  * Return value: Success.
  **/
 static gboolean
-gpm_brightness_lcd_set_hw (GpmBrightnessLcd *brightness,
-			   guint	     brightness_level_hw)
+gpm_brightness_hal_set_hw (GpmBrightnessHal *brightness, guint value_hw)
 {
 	GError *error = NULL;
 	gboolean ret;
 	DBusGProxy *proxy;
 	gint retval;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	proxy = dbus_proxy_get_proxy (brightness->priv->gproxy);
 	if (proxy == NULL) {
@@ -145,17 +139,17 @@
 		return FALSE;
 	}
 
-	if (brightness_level_hw < 0 ||
-	    brightness_level_hw > brightness->priv->levels - 1) {
+	if (value_hw < 0 ||
+	    value_hw > brightness->priv->levels - 1) {
 		gpm_warning ("set outside range (%i of %i)",
-			     brightness_level_hw, brightness->priv->levels - 1);
+			     value_hw, brightness->priv->levels - 1);
 		return FALSE;
 	}
 
-	gpm_debug ("Setting %i of %i", brightness_level_hw, brightness->priv->levels - 1);
+	gpm_debug ("Setting %i of %i", value_hw, brightness->priv->levels - 1);
 
 	ret = dbus_g_proxy_call (proxy, "SetBrightness", &error,
-				 G_TYPE_INT, (gint)brightness_level_hw,
+				 G_TYPE_INT, (gint)value_hw,
 				 G_TYPE_INVALID,
 				 G_TYPE_INT, &retval,
 				 G_TYPE_INVALID);
@@ -171,28 +165,25 @@
 		return FALSE;
 	}
 
-	brightness->priv->last_set_hw = brightness_level_hw;
+	brightness->priv->last_set_hw = value_hw;
 	return TRUE;
 }
 
 /**
- * gpm_brightness_lcd_dim_hw_step:
+ * gpm_brightness_hal_dim_hw_step:
  * @brightness: This brightness class instance
  * @new_level_hw: The new hardware level
  *
  * Just do the step up and down, after knowing the step interval
  **/
 static gboolean
-gpm_brightness_lcd_dim_hw_step (GpmBrightnessLcd *brightness,
-				guint             new_level_hw,
-				guint		  step_interval)
+gpm_brightness_hal_dim_hw_step (GpmBrightnessHal *brightness, guint new_level_hw, guint step_interval)
 {
 	guint last_set_hw;
 	gint a;
 	gboolean ret;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	last_set_hw = brightness->priv->last_set_hw;
 	gpm_debug ("new_level_hw=%i, last_set_hw=%i", new_level_hw, last_set_hw);
@@ -205,40 +196,40 @@
 	if (new_level_hw > last_set_hw) {
 		/* going up */
 		for (a=last_set_hw; a <= new_level_hw; a+=step_interval) {
-			ret = gpm_brightness_lcd_set_hw (brightness, a);
+			ret = gpm_brightness_hal_set_hw (brightness, a);
 			/* we failed the last brightness set command, don't keep trying */
 			if (ret == FALSE) {
 				break;
 			}
-			g_usleep (1000 * DIM_INTERVAL);
+			g_usleep (1000 * GPM_BRIGHTNESS_DIM_INTERVAL);
 		}
 	} else {
 		/* going down */
 		for (a=last_set_hw; (gint) (a + 1) > (gint) new_level_hw; a-=step_interval) {
-			ret = gpm_brightness_lcd_set_hw (brightness, a);
+			ret = gpm_brightness_hal_set_hw (brightness, a);
 			/* we failed the last brightness set command, don't keep trying */
 			if (ret == FALSE) {
 				break;
 			}
-			g_usleep (1000 * DIM_INTERVAL);
+			g_usleep (1000 * GPM_BRIGHTNESS_DIM_INTERVAL);
 		}
 	}
 	return TRUE;
 }
 
 /**
- * gpm_brightness_lcd_get_step:
+ * gpm_brightness_hal_get_step:
  * @brightness: This brightness class instance
  * Return value: the amount of hardware steps to do on each update or
  * zero for error.
  **/
 static guint
-gpm_brightness_lcd_get_step (GpmBrightnessLcd *brightness)
+gpm_brightness_hal_get_step (GpmBrightnessHal *brightness)
 {
 	int step;
 
 	g_return_val_if_fail (brightness != NULL, 0);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), 0);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), 0);
 
 	if (brightness->priv->levels < 20) {
 		/* less than 20 states should do every state */
@@ -251,49 +242,45 @@
 }
 
 /**
- * gpm_brightness_lcd_dim_hw:
+ * gpm_brightness_hal_dim_hw:
  * @brightness: This brightness class instance
  * @new_level_hw: The new hardware level
  **/
 static gboolean
-gpm_brightness_lcd_dim_hw (GpmBrightnessLcd *brightness,
-			   guint	     new_level_hw)
+gpm_brightness_hal_dim_hw (GpmBrightnessHal *brightness, guint new_level_hw)
 {
 	guint step;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	gpm_debug ("new_level_hw=%i", new_level_hw);
 
 	/* macbook pro has a bazzillion brightness levels, be a bit clever */
-	step = gpm_brightness_lcd_get_step (brightness);
-	return gpm_brightness_lcd_dim_hw_step (brightness, new_level_hw, step);
+	step = gpm_brightness_hal_get_step (brightness);
+	return gpm_brightness_hal_dim_hw_step (brightness, new_level_hw, step);
 }
 
 /**
- * gpm_brightness_lcd_set_std:
+ * gpm_brightness_hal_set:
  * @brightness: This brightness class instance
- * @brightness_level: The percentage brightness
+ * @percentage: The percentage brightness
  **/
 gboolean
-gpm_brightness_lcd_set_std (GpmBrightnessLcd *brightness,
-			    guint	      brightness_level)
+gpm_brightness_hal_set (GpmBrightnessHal *brightness, guint	percentage)
 {
 	guint level_hw;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
-	level_hw = gpm_percent_to_discrete (brightness_level, brightness->priv->levels);
+	level_hw = gpm_percent_to_discrete (percentage, brightness->priv->levels);
 	brightness->priv->level_std_hw = level_hw;
 
 	/* update */
-	return gpm_brightness_lcd_dim_hw (brightness, level_hw);
+	return gpm_brightness_hal_dim_hw (brightness, level_hw);
 }
 
 /**
- * gpm_brightness_lcd_get:
+ * gpm_brightness_hal_get:
  * @brightness: This brightness class instance
  * Return value: The percentage brightness, or -1 for no hardware or error
  *
@@ -301,50 +288,44 @@
  * brightness. This is quick as no HAL inquiry is done.
  **/
 gboolean
-gpm_brightness_lcd_get (GpmBrightnessLcd *brightness,
-			guint		 *brightness_level)
+gpm_brightness_hal_get (GpmBrightnessHal *brightness, guint *percentage)
 {
-	gint percentage;
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
-
-	percentage = gpm_discrete_to_percent (brightness->priv->last_set_hw,
-					      brightness->priv->levels);
-	*brightness_level = percentage;
+	*percentage = gpm_discrete_to_percent (brightness->priv->last_set_hw,
+					       brightness->priv->levels);
 	return TRUE;
 }
 
 /**
- * gpm_brightness_lcd_up:
+ * gpm_brightness_hal_up:
  * @brightness: This brightness class instance
  *
  * If possible, put the brightness of the LCD up one unit.
  **/
 gboolean
-gpm_brightness_lcd_up (GpmBrightnessLcd *brightness)
+gpm_brightness_hal_up (GpmBrightnessHal *brightness)
 {
 	gint step;
 	gint percentage;
 	guint current_hw;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	/* check to see if the panel has changed */
-	gpm_brightness_lcd_get_hw (brightness, &current_hw);
+	gpm_brightness_hal_get_hw (brightness, &current_hw);
 
 	/* the panel has been updated in firmware */
 	if (current_hw != brightness->priv->last_set_hw) {
 		brightness->priv->last_set_hw = current_hw;
 	} else {
 		/* macbook pro has a bazzillion brightness levels, be a bit clever */
-		step = gpm_brightness_lcd_get_step (brightness);
+		step = gpm_brightness_hal_get_step (brightness);
 		/* don't overflow */
 		if (brightness->priv->last_set_hw + step > brightness->priv->levels - 1) {
 			step = (brightness->priv->levels - 1) - brightness->priv->last_set_hw;
 		}
-		gpm_brightness_lcd_set_hw (brightness, brightness->priv->last_set_hw + step);
+		gpm_brightness_hal_set_hw (brightness, brightness->priv->last_set_hw + step);
 	}
 
 	percentage = gpm_discrete_to_percent (brightness->priv->last_set_hw,
@@ -356,35 +337,34 @@
 }
 
 /**
- * gpm_brightness_lcd_down:
+ * gpm_brightness_hal_down:
  * @brightness: This brightness class instance
  *
  * If possible, put the brightness of the LCD down one unit.
  **/
 gboolean
-gpm_brightness_lcd_down (GpmBrightnessLcd *brightness)
+gpm_brightness_hal_down (GpmBrightnessHal *brightness)
 {
 	gint step;
 	gint percentage;
 	guint current_hw;
 
-	g_return_val_if_fail (brightness != NULL, FALSE);
-	g_return_val_if_fail (GPM_IS_BRIGHTNESS_LCD (brightness), FALSE);
+	g_return_val_if_fail (GPM_IS_BRIGHTNESS_HAL (brightness), FALSE);
 
 	/* check to see if the panel has changed */
-	gpm_brightness_lcd_get_hw (brightness, &current_hw);
+	gpm_brightness_hal_get_hw (brightness, &current_hw);
 
 	/* the panel has been updated in firmware */
 	if (current_hw != brightness->priv->last_set_hw) {
-		gpm_brightness_lcd_get_hw (brightness, &brightness->priv->last_set_hw);
+		gpm_brightness_hal_get_hw (brightness, &brightness->priv->last_set_hw);
 	} else {
 		/* macbook pro has a bazzillion brightness levels, be a bit clever */
-		step = gpm_brightness_lcd_get_step (brightness);
+		step = gpm_brightness_hal_get_step (brightness);
 		/* don't underflow */
 		if (brightness->priv->last_set_hw < step) {
 			step = brightness->priv->last_set_hw;
 		}
-		gpm_brightness_lcd_set_hw (brightness, brightness->priv->last_set_hw - step);
+		gpm_brightness_hal_set_hw (brightness, brightness->priv->last_set_hw - step);
 	}
 
 	percentage = gpm_discrete_to_percent (brightness->priv->last_set_hw,
@@ -396,31 +376,24 @@
 }
 
 /**
- * gpm_brightness_lcd_constructor:
+ * gpm_brightness_hal_has_hw:
  **/
-static GObject *
-gpm_brightness_lcd_constructor (GType		   type,
-			        guint		   n_construct_properties,
-			        GObjectConstructParam *construct_properties)
+gboolean
+gpm_brightness_hal_has_hw (GpmBrightnessHal *brightness)
 {
-	GpmBrightnessLcd      *brightness;
-	GpmBrightnessLcdClass *klass;
-	klass = GPM_BRIGHTNESS_LCD_CLASS (g_type_class_peek (GPM_TYPE_BRIGHTNESS_LCD));
-	brightness = GPM_BRIGHTNESS_LCD (G_OBJECT_CLASS (gpm_brightness_lcd_parent_class)->constructor
-			      		     (type, n_construct_properties, construct_properties));
-	return G_OBJECT (brightness);
+	return (brightness->priv->gproxy != NULL);
 }
 
 /**
- * gpm_brightness_lcd_finalize:
+ * gpm_brightness_hal_finalize:
  **/
 static void
-gpm_brightness_lcd_finalize (GObject *object)
+gpm_brightness_hal_finalize (GObject *object)
 {
-	GpmBrightnessLcd *brightness;
+	GpmBrightnessHal *brightness;
 	g_return_if_fail (object != NULL);
-	g_return_if_fail (GPM_IS_BRIGHTNESS_LCD (object));
-	brightness = GPM_BRIGHTNESS_LCD (object);
+	g_return_if_fail (GPM_IS_BRIGHTNESS_HAL (object));
+	brightness = GPM_BRIGHTNESS_HAL (object);
 
 	if (brightness->priv->udi != NULL) {
 		g_free (brightness->priv->udi);
@@ -429,36 +402,30 @@
 		g_object_unref (brightness->priv->gproxy);
 	}
 
-	G_OBJECT_CLASS (gpm_brightness_lcd_parent_class)->finalize (object);
+	G_OBJECT_CLASS (gpm_brightness_hal_parent_class)->finalize (object);
 }
 
 /**
- * gpm_brightness_lcd_class_init:
+ * gpm_brightness_hal_class_init:
  **/
 static void
-gpm_brightness_lcd_class_init (GpmBrightnessLcdClass *klass)
+gpm_brightness_hal_class_init (GpmBrightnessHalClass *klass)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-	object_class->finalize	   = gpm_brightness_lcd_finalize;
-	object_class->constructor  = gpm_brightness_lcd_constructor;
+	object_class->finalize = gpm_brightness_hal_finalize;
 
 	signals [BRIGHTNESS_CHANGED] =
 		g_signal_new ("brightness-changed",
-			      G_TYPE_FROM_CLASS (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      G_STRUCT_OFFSET (GpmBrightnessLcdClass, brightness_changed),
-			      NULL,
-			      NULL,
-			      g_cclosure_marshal_VOID__UINT,
-			      G_TYPE_NONE,
-			      1,
-			      G_TYPE_UINT);
+			      G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
+			      G_STRUCT_OFFSET (GpmBrightnessHalClass, brightness_changed),
+			      NULL, NULL, g_cclosure_marshal_VOID__UINT,
+			      G_TYPE_NONE, 1, G_TYPE_UINT);
 
-	g_type_class_add_private (klass, sizeof (GpmBrightnessLcdPrivate));
+	g_type_class_add_private (klass, sizeof (GpmBrightnessHalPrivate));
 }
 
 /**
- * gpm_brightness_lcd_init:
+ * gpm_brightness_hal_init:
  * @brightness: This brightness class instance
  *
  * initialises the brightness class. NOTE: We expect laptop_panel objects
@@ -466,13 +433,14 @@
  * We only control the first laptop_panel object if there are more than one.
  **/
 static void
-gpm_brightness_lcd_init (GpmBrightnessLcd *brightness)
+gpm_brightness_hal_init (GpmBrightnessHal *brightness)
 {
 	gchar **names;
 	HalGManager *manager;
 	HalGDevice *device;
 
-	brightness->priv = GPM_BRIGHTNESS_LCD_GET_PRIVATE (brightness);
+	brightness->priv = GPM_BRIGHTNESS_HAL_GET_PRIVATE (brightness);
+	brightness->priv->gproxy = NULL;
 
 	/* save udi of lcd adapter */
 	manager = hal_gmanager_new ();
@@ -501,14 +469,11 @@
 
 	/* get a managed proxy */
 	brightness->priv->gproxy = dbus_proxy_new ();
-	dbus_proxy_assign (brightness->priv->gproxy,
-			  DBUS_PROXY_SYSTEM,
-			  HAL_DBUS_SERVICE,
-			  brightness->priv->udi,
-			  HAL_DBUS_INTERFACE_LAPTOP_PANEL);
+	dbus_proxy_assign (brightness->priv->gproxy, DBUS_PROXY_SYSTEM, HAL_DBUS_SERVICE,
+			   brightness->priv->udi, HAL_DBUS_INTERFACE_LAPTOP_PANEL);
 
 	/* this changes under our feet */
-	gpm_brightness_lcd_get_hw (brightness, &brightness->priv->last_set_hw);
+	gpm_brightness_hal_get_hw (brightness, &brightness->priv->last_set_hw);
 
 	/* set to known value */
 	brightness->priv->level_std_hw = 0;
@@ -518,48 +483,15 @@
 }
 
 /**
- * gpm_brightness_lcd_has_hw:
- *
- * Self contained function that works out if we have the hardware.
- * If not, we return FALSE and the module is unloaded.
- **/
-gboolean
-gpm_brightness_lcd_has_hw (void)
-{
-	HalGManager *manager;
-	gchar **names;
-	gboolean ret = TRUE;
-
-	/* okay, as singleton - so we don't allocate more memory */
-	manager = hal_gmanager_new ();
-	hal_gmanager_find_capability (manager, "laptop_panel", &names, NULL);
-	g_object_unref (manager);
-
-	/* nothing found */
-	if (names == NULL || names[0] == NULL) {
-		ret = FALSE;
-	}
-
-	hal_gmanager_free_capability (names);
-	return ret;
-}
-
-/**
- * gpm_brightness_lcd_new:
+ * gpm_brightness_hal_new:
  * Return value: A new brightness class instance.
  * Can return NULL if no suitable hardware is found.
  **/
-GpmBrightnessLcd *
-gpm_brightness_lcd_new (void)
+GpmBrightnessHal *
+gpm_brightness_hal_new (void)
 {
-	if (gpm_brightness_object != NULL) {
-		g_object_ref (gpm_brightness_object);
-	} else {
-		if (gpm_brightness_lcd_has_hw () == FALSE) {
-			return NULL;
-		}
-		gpm_brightness_object = g_object_new (GPM_TYPE_BRIGHTNESS_LCD, NULL);
-		g_object_add_weak_pointer (gpm_brightness_object, &gpm_brightness_object);
-	}
-	return GPM_BRIGHTNESS_LCD (gpm_brightness_object);
+	GpmBrightnessHal *brightness;
+	brightness = g_object_new (GPM_TYPE_BRIGHTNESS_HAL, NULL);
+	return GPM_BRIGHTNESS_HAL (brightness);
 }
+

Copied: trunk/src/gpm-brightness-hal.h (from r2762, /trunk/src/gpm-brightness-lcd.h)
==============================================================================
--- /trunk/src/gpm-brightness-lcd.h	(original)
+++ trunk/src/gpm-brightness-hal.h	Wed Apr  9 18:18:48 2008
@@ -1,7 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
  *
- * Copyright (C) 2005 William Jon McCann <mccann jhu edu>
- * Copyright (C) 2005-2007 Richard Hughes <richard hughsie com>
+ * Copyright (C) 2008 Richard Hughes <richard hughsie com>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -20,46 +19,46 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#ifndef __GPM_BRIGHTNESS_LCD_H
-#define __GPM_BRIGHTNESS_LCD_H
+#ifndef __GPM_BRIGHTNESS_HAL_H
+#define __GPM_BRIGHTNESS_HAL_H
 
 #include <glib-object.h>
 
 G_BEGIN_DECLS
 
-#define GPM_TYPE_BRIGHTNESS_LCD		(gpm_brightness_lcd_get_type ())
-#define GPM_BRIGHTNESS_LCD(o)		(G_TYPE_CHECK_INSTANCE_CAST ((o), GPM_TYPE_BRIGHTNESS_LCD, GpmBrightnessLcd))
-#define GPM_BRIGHTNESS_LCD_CLASS(k)	(G_TYPE_CHECK_CLASS_CAST((k), GPM_TYPE_BRIGHTNESS_LCD, GpmBrightnessLcdClass))
-#define GPM_IS_BRIGHTNESS_LCD(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), GPM_TYPE_BRIGHTNESS_LCD))
-#define GPM_IS_BRIGHTNESS_LCD_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), GPM_TYPE_BRIGHTNESS_LCD))
-#define GPM_BRIGHTNESS_LCD_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GPM_TYPE_BRIGHTNESS_LCD, GpmBrightnessLcdClass))
+#define GPM_TYPE_BRIGHTNESS_HAL		(gpm_brightness_hal_get_type ())
+#define GPM_BRIGHTNESS_HAL(o)		(G_TYPE_CHECK_INSTANCE_CAST ((o), GPM_TYPE_BRIGHTNESS_HAL, GpmBrightnessHal))
+#define GPM_BRIGHTNESS_HAL_CLASS(k)	(G_TYPE_CHECK_CLASS_CAST((k), GPM_TYPE_BRIGHTNESS_HAL, GpmBrightnessHalClass))
+#define GPM_IS_BRIGHTNESS_HAL(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), GPM_TYPE_BRIGHTNESS_HAL))
+#define GPM_IS_BRIGHTNESS_HAL_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), GPM_TYPE_BRIGHTNESS_HAL))
+#define GPM_BRIGHTNESS_HAL_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GPM_TYPE_BRIGHTNESS_HAL, GpmBrightnessHalClass))
 
-typedef struct GpmBrightnessLcdPrivate GpmBrightnessLcdPrivate;
+typedef struct GpmBrightnessHalPrivate GpmBrightnessHalPrivate;
 
 typedef struct
 {
-	GObject		         parent;
-	GpmBrightnessLcdPrivate *priv;
-} GpmBrightnessLcd;
+	GObject			 	 parent;
+	GpmBrightnessHalPrivate		*priv;
+} GpmBrightnessHal;
 
 typedef struct
 {
 	GObjectClass	parent_class;
-	void		(* brightness_changed)	(GpmBrightnessLcd	*brightness,
+	void		(* brightness_changed)	(GpmBrightnessHal	*brightness,
 						 guint			 percentage);
-} GpmBrightnessLcdClass;
+} GpmBrightnessHalClass;
 
-GType		 gpm_brightness_lcd_get_type	(void);
-GpmBrightnessLcd *gpm_brightness_lcd_new	(void);
-gboolean	  gpm_brightness_lcd_has_hw	(void);
-
-gboolean	 gpm_brightness_lcd_up		(GpmBrightnessLcd	*brightness);
-gboolean	 gpm_brightness_lcd_down	(GpmBrightnessLcd	*brightness);
-gboolean	 gpm_brightness_lcd_get		(GpmBrightnessLcd	*brightness,
-						 guint			*brightness_level);
-gboolean	 gpm_brightness_lcd_set_std	(GpmBrightnessLcd	*brightness,
-						 guint			 brightness_level);
+GType		 gpm_brightness_hal_get_type	(void);
+GpmBrightnessHal *gpm_brightness_hal_new	(void);
+
+gboolean	 gpm_brightness_hal_has_hw	(GpmBrightnessHal	*brightness);
+gboolean	 gpm_brightness_hal_up		(GpmBrightnessHal	*brightness);
+gboolean	 gpm_brightness_hal_down	(GpmBrightnessHal	*brightness);
+gboolean	 gpm_brightness_hal_get		(GpmBrightnessHal	*brightness,
+						 guint			*percentage);
+gboolean	 gpm_brightness_hal_set		(GpmBrightnessHal	*brightness,
+						 guint			 percentage);
 
 G_END_DECLS
 
-#endif /* __GPM_BRIGHTNESS_LCD_H */
+#endif /* __GPM_BRIGHTNESS_HAL_H */

Modified: trunk/src/gpm-common.c
==============================================================================
--- trunk/src/gpm-common.c	(original)
+++ trunk/src/gpm-common.c	Wed Apr  9 18:18:48 2008
@@ -157,8 +157,7 @@
  * Return value: The discrete value for this percentage.
  **/
 guint
-gpm_percent_to_discrete (guint percentage,
-			 guint levels)
+gpm_percent_to_discrete (guint percentage, guint levels)
 {
 	/* check we are in range */
 	if (percentage > 100) {
@@ -181,8 +180,7 @@
  * Return value: The percentage for this discrete value.
  **/
 guint
-gpm_discrete_to_percent (guint discrete,
-			 guint levels)
+gpm_discrete_to_percent (guint discrete, guint levels)
 {
 	/* check we are in range */
 	if (discrete > levels) {

Modified: trunk/src/gpm-srv-screensaver.c
==============================================================================
--- trunk/src/gpm-srv-screensaver.c	(original)
+++ trunk/src/gpm-srv-screensaver.c	Wed Apr  9 18:18:48 2008
@@ -33,7 +33,7 @@
 #include "gpm-button.h"
 #include "gpm-dpms.h"
 #include "gpm-ac-adapter.h"
-#include "gpm-brightness-lcd.h"
+#include "gpm-brightness.h"
 
 static void     gpm_srv_screensaver_class_init (GpmSrvScreensaverClass *klass);
 static void     gpm_srv_screensaver_init       (GpmSrvScreensaver      *srv_screensaver);
@@ -45,7 +45,7 @@
 {
 	GpmAcAdapter		*ac_adapter;
 	GpmButton		*button;
-	GpmBrightnessLcd	*brightness_lcd;
+	GpmBrightness		*brightness;
 	GpmConf			*conf;
 	GpmDpms			*dpms;
 	GpmScreensaver		*screensaver;
@@ -74,9 +74,9 @@
 
 		/* TODO: This may be a bid of a bodge, as we will have multiple
 			 resume requests -- maybe this need a logic cleanup */
-		if (srv_screensaver->priv->brightness_lcd) {
+		if (srv_screensaver->priv->brightness) {
 			gpm_debug ("undimming lcd due to auth begin");
-//			gpm_brightness_lcd_undim (srv_screensaver->priv->brightness_lcd);
+//			gpm_brightness_undim (srv_screensaver->priv->brightness);
 		}
 
 		/* We turn on the monitor unconditionally, as we may be using
@@ -266,7 +266,7 @@
 			  G_CALLBACK (ac_adapter_changed_cb), srv_screensaver);
 
 	/* we use brightness so we undim when we need authentication */
-	srv_screensaver->priv->brightness_lcd = gpm_brightness_lcd_new ();
+	srv_screensaver->priv->brightness = gpm_brightness_new ();
 
 	/* init to unthrottled */
 	srv_screensaver->priv->ac_throttle_id = 0;
@@ -304,8 +304,8 @@
 	if (srv_screensaver->priv->ac_adapter != NULL) {
 		g_object_unref (srv_screensaver->priv->ac_adapter);
 	}
-	if (srv_screensaver->priv->brightness_lcd != NULL) {
-		g_object_unref (srv_screensaver->priv->brightness_lcd);
+	if (srv_screensaver->priv->brightness != NULL) {
+		g_object_unref (srv_screensaver->priv->brightness);
 	}
 	if (srv_screensaver->priv->ac_adapter != NULL) {
 		g_object_unref (srv_screensaver->priv->ac_adapter);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]