gnome-power-manager r2767 - in trunk: . po src
- From: rhughes svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-power-manager r2767 - in trunk: . po src
- Date: Wed, 9 Apr 2008 18:18:48 +0100 (BST)
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, ¤t_hw);
+ gpm_brightness_hal_get_hw (brightness, ¤t_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, ¤t_hw);
+ gpm_brightness_hal_get_hw (brightness, ¤t_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]