[gnome-power-manager] Remove the unused abstraction GpmAdapter, and use DkpClient directly



commit b241d8e555943fdb93d6eaffaaca4131d0292bdf
Author: Richard Hughes <richard hughsie com>
Date:   Wed May 6 15:17:47 2009 +0100

    Remove the unused abstraction GpmAdapter, and use DkpClient directly
---
 src/Makefile.am      |    4 -
 src/gpm-ac-adapter.c |  162 --------------------------------------------------
 src/gpm-ac-adapter.h |   59 ------------------
 src/gpm-backlight.c  |   45 +++++++-------
 src/gpm-manager.c    |  124 +++++++++++++-------------------------
 src/gpm-notify.c     |   30 +++++-----
 6 files changed, 80 insertions(+), 344 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 964ab05..a18cc0b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -182,8 +182,6 @@ gnome_power_manager_SOURCES =				\
 	gpm-main.c					\
 	gpm-manager.h					\
 	gpm-manager.c					\
-	gpm-ac-adapter.h				\
-	gpm-ac-adapter.c				\
 	gpm-tray-icon.h					\
 	gpm-tray-icon.c					\
 	gpm-marshal.h					\
@@ -251,8 +249,6 @@ gnome_power_self_test_SOURCES =				\
 	egg-array-float.c				\
 	egg-console-kit.h				\
 	egg-console-kit.c				\
-	gpm-ac-adapter.h				\
-	gpm-ac-adapter.c				\
 	gpm-prefs-server.h				\
 	gpm-prefs-server.c				\
 	gpm-control.h					\
diff --git a/src/gpm-ac-adapter.c b/src/gpm-ac-adapter.c
deleted file mode 100644
index cee1d07..0000000
--- a/src/gpm-ac-adapter.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2006-2007 Richard Hughes <richard hughsie com>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-#include <errno.h>
-
-#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-
-#include <glib/gi18n.h>
-#include <dbus/dbus-glib.h>
-#include <devkit-power-gobject/devicekit-power.h>
-
-#include "gpm-common.h"
-#include "egg-debug.h"
-#include "gpm-ac-adapter.h"
-
-#define GPM_AC_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GPM_TYPE_AC_ADAPTER, GpmAcAdapterPrivate))
-
-struct GpmAcAdapterPrivate
-{
-	gboolean		 has_hardware;
-	DkpClient		*client;
-};
-
-enum {
-	AC_ADAPTER_CHANGED,
-	LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = { 0 };
-static gpointer gpm_ac_adapter_object = NULL;
-
-G_DEFINE_TYPE (GpmAcAdapter, gpm_ac_adapter, G_TYPE_OBJECT)
-
-/**
- * gpm_ac_adapter_get:
- * @ac_adapter: This class instance
- *
- * Gets the current state of the AC adapter
- **/
-gboolean
-gpm_ac_adapter_is_present (GpmAcAdapter *ac_adapter)
-{
-	gboolean is_on_ac;
-	gboolean on_battery;
-	on_battery = dkp_client_on_battery (ac_adapter->priv->client);
-	/* battery -> not AC */
-	is_on_ac = !on_battery;
-	return is_on_ac;
-}
-
-/**
- * gpm_ac_adapter_changed_cb:
- */
-static void
-gpm_ac_adapter_changed_cb (DkpClient *client, GpmAcAdapter *ac_adapter)
-{
-	gboolean on_battery;
-	on_battery = dkp_client_on_battery (client);
-	g_signal_emit (ac_adapter, signals [AC_ADAPTER_CHANGED], 0, !on_battery);
-}
-
-/**
- * gpm_ac_adapter_finalize:
- **/
-static void
-gpm_ac_adapter_finalize (GObject *object)
-{
-	GpmAcAdapter *ac_adapter;
-	g_return_if_fail (object != NULL);
-	g_return_if_fail (GPM_IS_AC_ADAPTER (object));
-	ac_adapter = GPM_AC_ADAPTER (object);
-	g_return_if_fail (ac_adapter->priv != NULL);
-
-	g_object_unref (ac_adapter->priv->client);
-
-	G_OBJECT_CLASS (gpm_ac_adapter_parent_class)->finalize (object);
-}
-
-/**
- * gpm_ac_adapter_class_init:
- **/
-static void
-gpm_ac_adapter_class_init (GpmAcAdapterClass *klass)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-	object_class->finalize	   = gpm_ac_adapter_finalize;
-
-	signals [AC_ADAPTER_CHANGED] =
-		g_signal_new ("ac-adapter-changed",
-			      G_TYPE_FROM_CLASS (object_class),
-			      G_SIGNAL_RUN_LAST,
-			      G_STRUCT_OFFSET (GpmAcAdapterClass, ac_adapter_changed),
-			      NULL, NULL,
-			      g_cclosure_marshal_VOID__BOOLEAN,
-			      G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
-
-	g_type_class_add_private (klass, sizeof (GpmAcAdapterPrivate));
-}
-
-/**
- * gpm_ac_adapter_init:
- * @ac_adapter: This class instance
- *
- * initialises the ac_adapter class. NOTE: We expect ac_adapter objects
- * to *NOT* be removed or added during the session.
- * We only control the first ac_adapter object if there are more than one.
- **/
-static void
-gpm_ac_adapter_init (GpmAcAdapter *ac_adapter)
-{
-	ac_adapter->priv = GPM_AC_ADAPTER_GET_PRIVATE (ac_adapter);
-	ac_adapter->priv->client = dkp_client_new ();
-	g_signal_connect (ac_adapter->priv->client, "changed",
-			  G_CALLBACK (gpm_ac_adapter_changed_cb), ac_adapter);
-}
-
-/**
- * gpm_ac_adapter_new:
- * Return value: A new ac_adapter class instance.
- **/
-GpmAcAdapter *
-gpm_ac_adapter_new (void)
-{
-	if (gpm_ac_adapter_object != NULL) {
-		g_object_ref (gpm_ac_adapter_object);
-	} else {
-		gpm_ac_adapter_object = g_object_new (GPM_TYPE_AC_ADAPTER, NULL);
-		g_object_add_weak_pointer (gpm_ac_adapter_object, &gpm_ac_adapter_object);
-	}
-	return GPM_AC_ADAPTER (gpm_ac_adapter_object);
-}
-
diff --git a/src/gpm-ac-adapter.h b/src/gpm-ac-adapter.h
deleted file mode 100644
index ac4530e..0000000
--- a/src/gpm-ac-adapter.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* -*- 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>
- *
- * Licensed under the GNU General Public License Version 2
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GPM_AC_ADAPTER_H
-#define __GPM_AC_ADAPTER_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define GPM_TYPE_AC_ADAPTER		(gpm_ac_adapter_get_type ())
-#define GPM_AC_ADAPTER(o)		(G_TYPE_CHECK_INSTANCE_CAST ((o), GPM_TYPE_AC_ADAPTER, GpmAcAdapter))
-#define GPM_AC_ADAPTER_CLASS(k)		(G_TYPE_CHECK_CLASS_CAST((k), GPM_TYPE_AC_ADAPTER, GpmAcAdapterClass))
-#define GPM_IS_AC_ADAPTER(o)		(G_TYPE_CHECK_INSTANCE_TYPE ((o), GPM_TYPE_AC_ADAPTER))
-#define GPM_IS_AC_ADAPTER_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), GPM_TYPE_AC_ADAPTER))
-#define GPM_AC_ADAPTER_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GPM_TYPE_AC_ADAPTER, GpmAcAdapterClass))
-
-typedef struct GpmAcAdapterPrivate GpmAcAdapterPrivate;
-
-typedef struct
-{
-	GObject		      parent;
-	GpmAcAdapterPrivate *priv;
-} GpmAcAdapter;
-
-typedef struct
-{
-	GObjectClass	parent_class;
-	void		(* ac_adapter_changed)	(GpmAcAdapter	*ac_adapter,
-						 gboolean	 on_ac);
-} GpmAcAdapterClass;
-
-GType		 gpm_ac_adapter_get_type	(void);
-GpmAcAdapter	*gpm_ac_adapter_new		(void);
-
-gboolean	 gpm_ac_adapter_is_present	(GpmAcAdapter	*ac_adapter);
-
-G_END_DECLS
-
-#endif /* __GPM_AC_ADAPTER_H */
diff --git a/src/gpm-backlight.c b/src/gpm-backlight.c
index bb52a54..9bf13cd 100644
--- a/src/gpm-backlight.c
+++ b/src/gpm-backlight.c
@@ -40,10 +40,10 @@
 #include <glib/gi18n.h>
 #include <dbus/dbus-glib.h>
 #include <gconf/gconf-client.h>
+#include <devkit-power-gobject/devicekit-power.h>
 
 #include <hal-manager.h>
 
-#include "gpm-ac-adapter.h"
 #include "gpm-button.h"
 #include "gpm-backlight.h"
 #include "gpm-brightness.h"
@@ -62,7 +62,7 @@
 
 struct GpmBacklightPrivate
 {
-	GpmAcAdapter		*ac_adapter;
+	DkpClient		*client;
 	GpmBrightness		*brightness;
 	GpmButton		*button;
 	GConfClient		*conf;
@@ -229,7 +229,7 @@ gpm_backlight_brightness_evaluate_and_set (GpmBacklight *backlight, gboolean int
 	gfloat brightness;
 	gfloat scale;
 	gboolean ret;
-	gboolean on_ac;
+	gboolean on_battery;
 	gboolean do_laptop_lcd;
 	gboolean enable_action;
 	gboolean battery_reduce;
@@ -253,11 +253,11 @@ gpm_backlight_brightness_evaluate_and_set (GpmBacklight *backlight, gboolean int
 	egg_debug ("1. main brightness %f", brightness);
 
 	/* get AC status */
-	on_ac = gpm_ac_adapter_is_present (backlight->priv->ac_adapter);
+	on_battery = dkp_client_on_battery (backlight->priv->client);
 
 	/* reduce if on battery power if we should */
 	battery_reduce = gconf_client_get_bool (backlight->priv->conf, GPM_CONF_BACKLIGHT_BATTERY_REDUCE, NULL);
-	if (on_ac == FALSE && battery_reduce) {
+	if (on_battery && battery_reduce) {
 		value = gconf_client_get_int (backlight->priv->conf, GPM_CONF_BACKLIGHT_BRIGHTNESS_DIM_BATT, NULL);
 		if (value > 100) {
 			egg_warning ("cannot use battery brightness value %i, correcting to 50", value);
@@ -271,7 +271,7 @@ gpm_backlight_brightness_evaluate_and_set (GpmBacklight *backlight, gboolean int
 	egg_debug ("2. battery scale %f, brightness %f", scale, brightness);
 
 	/* reduce if system is momentarily idle */
-	if (on_ac)
+	if (!on_battery)
 		enable_action = gconf_client_get_bool (backlight->priv->conf, GPM_CONF_BACKLIGHT_IDLE_DIM_AC, NULL);
 	else
 		enable_action = gconf_client_get_bool (backlight->priv->conf, GPM_CONF_BACKLIGHT_IDLE_DIM_BATT, NULL);
@@ -340,19 +340,19 @@ static void
 gpm_conf_gconf_key_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, GpmBacklight *backlight)
 {
 	GConfValue *value;
-	gboolean on_ac;
+	gboolean on_battery;
 
 	value = gconf_entry_get_value (entry);
 	if (value == NULL)
 		return;
 
-	on_ac = gpm_ac_adapter_is_present (backlight->priv->ac_adapter);
+	on_battery = dkp_client_on_battery (backlight->priv->client);
 
-	if (on_ac && strcmp (entry->key, GPM_CONF_BACKLIGHT_BRIGHTNESS_AC) == 0) {
+	if (!on_battery && strcmp (entry->key, GPM_CONF_BACKLIGHT_BRIGHTNESS_AC) == 0) {
 		backlight->priv->master_percentage = gconf_value_get_int (value);
 		gpm_backlight_brightness_evaluate_and_set (backlight, FALSE);
 
-	} else if (!on_ac && strcmp (entry->key, GPM_CONF_BACKLIGHT_BRIGHTNESS_DIM_BATT) == 0) {
+	} else if (on_battery && strcmp (entry->key, GPM_CONF_BACKLIGHT_BRIGHTNESS_DIM_BATT) == 0) {
 		gpm_backlight_brightness_evaluate_and_set (backlight, FALSE);
 
 	} else if (strcmp (entry->key, GPM_CONF_BACKLIGHT_IDLE_DIM_AC) == 0 ||
@@ -374,15 +374,14 @@ gpm_conf_gconf_key_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *e
 }
 
 /**
- * ac_adapter_changed_cb:
- * @ac_adapter: The ac_adapter class instance
- * @on_ac: if we are on AC power
- * @brightness: This class instance
+ * gpm_backlight_client_changed_cb:
+ * @client: The dkp_client class instance
+ * @backlight: This class instance
  *
  * Does the actions when the ac power source is inserted/removed.
  **/
 static void
-ac_adapter_changed_cb (GpmAcAdapter *ac_adapter, gboolean on_ac, GpmBacklight *backlight)
+gpm_backlight_client_changed_cb (DkpClient *client, GpmBacklight *backlight)
 {
 	gpm_backlight_brightness_evaluate_and_set (backlight, TRUE);
 }
@@ -513,7 +512,7 @@ idle_changed_cb (GpmIdle *idle, GpmIdleMode mode, GpmBacklight *backlight)
 {
 	gboolean ret;
 	GError *error = NULL;
-	gboolean on_ac;
+	gboolean on_battery;
 	gchar *dpms_method;
 	GpmDpmsMode dpms_mode;
 
@@ -553,8 +552,8 @@ idle_changed_cb (GpmIdle *idle, GpmIdleMode mode, GpmBacklight *backlight)
 		gpm_backlight_brightness_evaluate_and_set (backlight, FALSE);
 
 		/* get the DPMS state we're supposed to use on the power state */
-		on_ac = gpm_ac_adapter_is_present (backlight->priv->ac_adapter);
-		if (on_ac)
+		on_battery = dkp_client_on_battery (backlight->priv->client);
+		if (!on_battery)
 			dpms_method = gconf_client_get_string (backlight->priv->conf, GPM_CONF_BACKLIGHT_DPMS_METHOD_AC, NULL);
 		else
 			dpms_method = gconf_client_get_string (backlight->priv->conf, GPM_CONF_BACKLIGHT_DPMS_METHOD_BATT, NULL);
@@ -671,7 +670,7 @@ gpm_backlight_finalize (GObject *object)
 	g_object_unref (backlight->priv->light_sensor);
 	g_object_unref (backlight->priv->feedback);
 	g_object_unref (backlight->priv->conf);
-	g_object_unref (backlight->priv->ac_adapter);
+	g_object_unref (backlight->priv->client);
 	g_object_unref (backlight->priv->button);
 	g_object_unref (backlight->priv->idle);
 	g_object_unref (backlight->priv->brightness);
@@ -776,10 +775,10 @@ gpm_backlight_init (GpmBacklight *backlight)
 	g_signal_connect (backlight->priv->button, "button-pressed",
 			  G_CALLBACK (gpm_backlight_button_pressed_cb), backlight);
 
-	/* we use ac_adapter for the ac-adapter-changed signal */
-	backlight->priv->ac_adapter = gpm_ac_adapter_new ();
-	g_signal_connect (backlight->priv->ac_adapter, "ac-adapter-changed",
-			  G_CALLBACK (ac_adapter_changed_cb), backlight);
+	/* we use dkp_client for the ac-adapter-changed signal */
+	backlight->priv->client = dkp_client_new ();
+	g_signal_connect (backlight->priv->client, "changed",
+			  G_CALLBACK (gpm_backlight_client_changed_cb), backlight);
 
 	/* watch for idle mode changes */
 	backlight->priv->idle = gpm_idle_new ();
diff --git a/src/gpm-manager.c b/src/gpm-manager.c
index 1783949..43cc8e0 100644
--- a/src/gpm-manager.c
+++ b/src/gpm-manager.c
@@ -45,7 +45,6 @@
 #include "egg-debug.h"
 #include "egg-console-kit.h"
 
-#include "gpm-ac-adapter.h"
 #include "gpm-button.h"
 #include "gpm-control.h"
 #include "gpm-common.h"
@@ -77,7 +76,6 @@ static void     gpm_manager_finalize	(GObject	 *object);
 
 struct GpmManagerPrivate
 {
-	GpmAcAdapter		*ac_adapter;
 	GpmButton		*button;
 	GConfClient		*conf;
 	GpmDpms			*dpms;
@@ -89,7 +87,6 @@ struct GpmManagerPrivate
 	GpmScreensaver 		*screensaver;
 	GpmTrayIcon		*tray_icon;
 	GpmEngine		*engine;
-	gboolean		 low_power;
 	GpmBrightnessKbd	*brightness_kbd;
 	GpmFeedback		*feedback_kbd;
 	GpmBacklight		*backlight;
@@ -98,6 +95,7 @@ struct GpmManagerPrivate
 	guint32         	 screensaver_dpms_throttle_id;
 	guint32         	 screensaver_lid_throttle_id;
 	DkpClient		*client;
+	gboolean		 on_battery;
 };
 
 enum {
@@ -282,7 +280,6 @@ gpm_manager_is_inhibit_valid (GpmManager *manager, gboolean user_action, const c
 /**
  * gpm_manager_sync_policy_sleep:
  * @manager: This class instance
- * @on_ac: If we are on AC power
  *
  * Changes the policy if required, setting brightness, display and computer
  * timeouts.
@@ -294,19 +291,13 @@ gpm_manager_sync_policy_sleep (GpmManager *manager)
 {
 	guint sleep_display;
 	guint sleep_computer;
-	gboolean on_ac;
-	gboolean power_save;
 
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-
-	if (on_ac) {
+	if (!manager->priv->on_battery) {
 		sleep_computer = gconf_client_get_int (manager->priv->conf, GPM_CONF_TIMEOUT_SLEEP_COMPUTER_AC, NULL);
 		sleep_display = gconf_client_get_int (manager->priv->conf, GPM_CONF_TIMEOUT_SLEEP_DISPLAY_AC, NULL);
-		power_save = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_AC, NULL);
 	} else {
 		sleep_computer = gconf_client_get_int (manager->priv->conf, GPM_CONF_TIMEOUT_SLEEP_COMPUTER_BATT, NULL);
 		sleep_display = gconf_client_get_int (manager->priv->conf, GPM_CONF_TIMEOUT_SLEEP_DISPLAY_BATT, NULL);
-		power_save = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_BATT, NULL);
 	}
 
 	/* set the new sleep (inactivity) value */
@@ -599,7 +590,7 @@ gpm_manager_get_power_save_status (GpmManager *manager, gboolean *low_power, GEr
 {
 	g_return_val_if_fail (manager != NULL, FALSE);
 	g_return_val_if_fail (GPM_IS_MANAGER (manager), FALSE);
-	*low_power = manager->priv->low_power;
+	*low_power = FALSE;
 	return TRUE;
 }
 
@@ -614,11 +605,9 @@ gpm_manager_get_power_save_status (GpmManager *manager, gboolean *low_power, GEr
 gboolean
 gpm_manager_get_on_battery (GpmManager *manager, gboolean *on_battery, GError **error)
 {
-	gboolean on_ac;
 	g_return_val_if_fail (manager != NULL, FALSE);
 	g_return_val_if_fail (GPM_IS_MANAGER (manager), FALSE);
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	*on_battery = !on_ac;
+	*on_battery = manager->priv->on_battery;
 	return TRUE;
 }
 
@@ -630,8 +619,6 @@ gpm_manager_get_low_battery (GpmManager *manager, gboolean *low_battery, GError
 {
 	g_return_val_if_fail (manager != NULL, FALSE);
 	g_return_val_if_fail (GPM_IS_MANAGER (manager), FALSE);
-
-	/* TODO */
 	*low_battery = FALSE;
 	return TRUE;
 }
@@ -646,15 +633,11 @@ gpm_manager_get_low_battery (GpmManager *manager, gboolean *low_battery, GError
 static void
 idle_do_sleep (GpmManager *manager)
 {
-	gboolean on_ac;
 	gchar *action = NULL;
 	gboolean ret;
 	GError *error = NULL;
 
-	/* find if we are on AC power */
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-
-	if (on_ac)
+	if (!manager->priv->on_battery)
 		action = gconf_client_get_string (manager->priv->conf, GPM_CONF_ACTIONS_SLEEP_TYPE_AC, NULL);
 	else
 		action = gconf_client_get_string (manager->priv->conf, GPM_CONF_ACTIONS_SLEEP_TYPE_BATT, NULL);
@@ -753,13 +736,10 @@ idle_changed_cb (GpmIdle *idle, GpmIdleMode mode, GpmManager *manager)
 static void
 lid_button_pressed (GpmManager *manager, gboolean pressed)
 {
-	gboolean on_ac;
 	gboolean has_inhibit;
 	gboolean do_policy;
 	gchar *action;
 
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-
 	if (pressed)
 		gpm_manager_play (manager, GPM_MANAGER_SOUND_LID_CLOSE, FALSE);
 	else
@@ -771,7 +751,7 @@ lid_button_pressed (GpmManager *manager, gboolean pressed)
 		return;
 	}
 
-	if (on_ac) {
+	if (!manager->priv->on_battery) {
 		egg_debug ("Performing AC policy");
 		manager_policy_do (manager, GPM_CONF_BUTTON_LID_AC,
 				   _("The lid has been closed on ac power."));
@@ -828,11 +808,11 @@ update_dpms_throttle (GpmManager *manager)
 }
 
 static void
-update_ac_throttle (GpmManager *manager, gboolean on_ac)
+update_ac_throttle (GpmManager *manager)
 {
 	/* Throttle the manager when we are not on AC power so we don't
 	   waste the battery */
-	if (on_ac) {
+	if (manager->priv->on_battery) {
 		if (manager->priv->screensaver_ac_throttle_id != 0) {
 			gpm_screensaver_remove_throttle (manager->priv->screensaver, manager->priv->screensaver_ac_throttle_id);
 			manager->priv->screensaver_ac_throttle_id = 0;
@@ -924,7 +904,7 @@ button_pressed_cb (GpmButton *button, const gchar *type, GpmManager *manager)
 }
 
 /**
- * power_on_ac_changed_cb:
+ * gpm_manager_client_changed_cb:
  * @power: The power class instance
  * @on_ac: if we are on AC power
  * @manager: This class instance
@@ -932,11 +912,21 @@ button_pressed_cb (GpmButton *button, const gchar *type, GpmManager *manager)
  * Does the actions when the ac power source is inserted/removed.
  **/
 static void
-ac_adapter_changed_cb (GpmAcAdapter *ac_adapter, gboolean on_ac, GpmManager *manager)
+gpm_manager_client_changed_cb (DkpClient *client, GpmManager *manager)
 {
 	gboolean event_when_closed;
-	gboolean power_save;
 	guint brightness;
+	gboolean on_battery;
+
+	/* get the on-battery state */
+	on_battery = dkp_client_on_battery (manager->priv->client);
+	if (on_battery == manager->priv->on_battery) {
+		egg_debug ("same state as before, ignoring");
+		return;
+	}
+
+	/* save in local cache */
+	manager->priv->on_battery = on_battery;
 
 	/* ConsoleKit says we are not on active console */
 	if (!egg_console_kit_is_active (manager->priv->console)) {
@@ -944,9 +934,9 @@ ac_adapter_changed_cb (GpmAcAdapter *ac_adapter, gboolean on_ac, GpmManager *man
 		return;
 	}
 
-	egg_debug ("Setting on-ac: %d", on_ac);
+	egg_debug ("on_battery: %d", on_battery);
 
-	if (on_ac)
+	if (!on_battery)
 		brightness = gconf_client_get_int (manager->priv->conf, GPM_CONF_KEYBOARD_BRIGHTNESS_AC, NULL);
 	else
 		brightness = gconf_client_get_int (manager->priv->conf, GPM_CONF_KEYBOARD_BRIGHTNESS_BATT, NULL);
@@ -954,37 +944,28 @@ ac_adapter_changed_cb (GpmAcAdapter *ac_adapter, gboolean on_ac, GpmManager *man
 
 	gpm_manager_sync_policy_sleep (manager);
 
-	update_ac_throttle (manager, on_ac);
+	update_ac_throttle (manager);
 
 	/* simulate user input, but only when the lid is open */
-	if (gpm_button_is_lid_closed (manager->priv->button) == FALSE)
+	if (!gpm_button_is_lid_closed (manager->priv->button))
 		gpm_screensaver_poke (manager->priv->screensaver);
 
-	if (on_ac)
+	if (!on_battery)
 		gpm_manager_play (manager, GPM_MANAGER_SOUND_POWER_PLUG, FALSE);
 	else
 		gpm_manager_play (manager, GPM_MANAGER_SOUND_POWER_UNPLUG, FALSE);
 
-	egg_debug ("emitting on-ac-changed : %i", on_ac);
-	g_signal_emit (manager, signals [ON_BATTERY_CHANGED], 0, !on_ac);
-
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	if (on_ac)
-		power_save = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_AC, NULL);
-	else
-		power_save = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_BATT, NULL);
-	if (manager->priv->low_power != power_save)
-		g_signal_emit (manager, signals [POWER_SAVE_STATUS_CHANGED], 0, power_save);
-	manager->priv->low_power = power_save;
+	egg_debug ("emitting on-battery-changed : %i", on_battery);
+	g_signal_emit (manager, signals [ON_BATTERY_CHANGED], 0, on_battery);
 
-	/* We do the lid close on battery action if the ac_adapter is removed
+	/* We do the lid close on battery action if the ac adapter is removed
 	   when the laptop is closed and on battery. Fixes #331655 */
 	event_when_closed = gconf_client_get_bool (manager->priv->conf, GPM_CONF_ACTIONS_SLEEP_WHEN_CLOSED, NULL);
 
 	/* We keep track of the lid state so we can do the
-	   lid close on battery action if the ac_adapter is removed when the laptop
+	   lid close on battery action if the ac adapter is removed when the laptop
 	   is closed. Fixes #331655 */
-	if (event_when_closed && on_ac == FALSE && gpm_button_is_lid_closed (manager->priv->button)) {
+	if (event_when_closed && on_battery && gpm_button_is_lid_closed (manager->priv->button)) {
 		manager_policy_do (manager, GPM_CONF_BUTTON_LID_BATT,
 				   _("The lid has been closed, and the ac adapter "
 				     "removed (and gconf is okay)."));
@@ -1050,7 +1031,6 @@ gpm_conf_gconf_key_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *e
 {
 	GConfValue *value;
 	gint brightness;
-	gboolean on_ac;
 
 	value = gconf_entry_get_value (entry);
 	if (value == NULL)
@@ -1063,17 +1043,16 @@ gpm_conf_gconf_key_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *e
 		gpm_manager_sync_policy_sleep (manager);
 
 	/* set keyboard brightness */
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	if (strcmp (entry->key, GPM_CONF_KEYBOARD_BRIGHTNESS_AC) == 0) {
+	if (strcmp (entry->key, GPM_CONF_KEYBOARD_BRIGHTNESS_BATT) == 0) {
 
 		brightness = gconf_value_get_int (value);
-		if (on_ac)
+		if (manager->priv->on_battery)
 			gpm_brightness_kbd_set_std (manager->priv->brightness_kbd, brightness);
 
-	} else if (strcmp (entry->key, GPM_CONF_KEYBOARD_BRIGHTNESS_BATT) == 0) {
+	} else if (strcmp (entry->key, GPM_CONF_KEYBOARD_BRIGHTNESS_AC) == 0) {
 
 		brightness = gconf_client_get_int (manager->priv->conf, GPM_CONF_KEYBOARD_BRIGHTNESS_AC, NULL);
-		if (on_ac == FALSE)
+		if (!manager->priv->on_battery)
 			gpm_brightness_kbd_set_std (manager->priv->brightness_kbd, brightness);
 
 	}
@@ -1276,7 +1255,6 @@ gpm_engine_charge_low_cb (GpmEngine *engine, DkpDevice *device, GpmManager *mana
 	DkpDeviceType type;
 	gdouble percentage;
 	gint64 time_to_empty;
-	gboolean on_battery;
 
 	/* get device properties */
 	g_object_get (device,
@@ -1287,8 +1265,7 @@ gpm_engine_charge_low_cb (GpmEngine *engine, DkpDevice *device, GpmManager *mana
 
 	/* check to see if the batteries have not noticed we are on AC */
 	if (type == DKP_DEVICE_TYPE_BATTERY) {
-		on_battery = dkp_client_on_battery (manager->priv->client);
-		if (!on_battery) {
+		if (!manager->priv->on_battery) {
 			egg_warning ("ignoring critically low message as we are not on battery power");
 			goto out;
 		}
@@ -1356,7 +1333,6 @@ gpm_engine_charge_critical_cb (GpmEngine *engine, DkpDevice *device, GpmManager
 	DkpDeviceType type;
 	gdouble percentage;
 	gint64 time_to_empty;
-	gboolean on_battery;
 
 	/* get device properties */
 	g_object_get (device,
@@ -1367,8 +1343,7 @@ gpm_engine_charge_critical_cb (GpmEngine *engine, DkpDevice *device, GpmManager
 
 	/* check to see if the batteries have not noticed we are on AC */
 	if (type == DKP_DEVICE_TYPE_BATTERY) {
-		on_battery = dkp_client_on_battery (manager->priv->client);
-		if (!on_battery) {
+		if (!manager->priv->on_battery) {
 			egg_warning ("ignoring critically low message as we are not on battery power");
 			goto out;
 		}
@@ -1452,7 +1427,6 @@ gpm_engine_charge_action_cb (GpmEngine *engine, DkpDevice *device, GpmManager *m
 	gchar *message = NULL;
 	gchar *icon = NULL;
 	DkpDeviceType type;
-	gboolean on_battery;
 
 	/* get device properties */
 	g_object_get (device,
@@ -1461,8 +1435,7 @@ gpm_engine_charge_action_cb (GpmEngine *engine, DkpDevice *device, GpmManager *m
 
 	/* check to see if the batteries have not noticed we are on AC */
 	if (type == DKP_DEVICE_TYPE_BATTERY) {
-		on_battery = dkp_client_on_battery (manager->priv->client);
-		if (!on_battery) {
+		if (!manager->priv->on_battery) {
 			egg_warning ("ignoring critically low message as we are not on battery power");
 			goto out;
 		}
@@ -1624,7 +1597,6 @@ dpms_mode_changed_cb (GpmDpms *dpms, GpmDpmsMode mode, GpmManager *manager)
 static void
 gpm_manager_console_kit_active_changed_cb (EggConsoleKit *console, gboolean active, GpmManager *manager)
 {
-	gboolean on_ac;
 	gboolean ret;
 
 	egg_debug ("console now %s", active ? "active" : "inactive");
@@ -1639,8 +1611,7 @@ gpm_manager_console_kit_active_changed_cb (EggConsoleKit *console, gboolean acti
 		return;
 
 	/* get ac state */
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	if (on_ac) {
+	if (!manager->priv->on_battery) {
 		egg_debug ("Performing AC policy as become active when lid down");
 		manager_policy_do (manager, GPM_CONF_BUTTON_LID_AC,
 				   _("The lid has been found closed on ac power."));
@@ -1662,7 +1633,6 @@ gpm_manager_init (GpmManager *manager)
 	gboolean check_type_cpu;
 	DBusGConnection *connection;
 	GError *error = NULL;
-	gboolean on_ac;
 	guint version;
 
 	manager->priv = GPM_MANAGER_GET_PRIVATE (manager);
@@ -1684,6 +1654,8 @@ gpm_manager_init (GpmManager *manager)
 	manager->priv->notify = gpm_notify_new ();
 	manager->priv->conf = gconf_client_get_default ();
 	manager->priv->client = dkp_client_new ();
+	g_signal_connect (manager->priv->client, "changed",
+			  G_CALLBACK (gpm_manager_client_changed_cb), manager);
 
 	/* watch gnome-power-manager keys */
 	gconf_client_add_dir (manager->priv->conf, GPM_CONF_DIR,
@@ -1705,17 +1677,8 @@ gpm_manager_init (GpmManager *manager)
 		egg_error ("no gconf schema installed!");
 	}
 
-	/* we use ac_adapter so we can poke the screensaver and throttle */
-	manager->priv->ac_adapter = gpm_ac_adapter_new ();
-	g_signal_connect (manager->priv->ac_adapter, "ac-adapter-changed",
-			  G_CALLBACK (ac_adapter_changed_cb), manager);
-
 	/* coldplug so we are in the correct state at startup */
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	if (on_ac)
-		manager->priv->low_power = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_AC, NULL);
-	else
-		manager->priv->low_power = gconf_client_get_bool (manager->priv->conf, GPM_CONF_LOWPOWER_BATT, NULL);
+	manager->priv->on_battery = dkp_client_on_battery (manager->priv->client);
 
 	manager->priv->button = gpm_button_new ();
 	g_signal_connect (manager->priv->button, "button-pressed",
@@ -1804,8 +1767,7 @@ gpm_manager_init (GpmManager *manager)
 			  G_CALLBACK (gpm_engine_charge_action_cb), manager);
 
 	/* update ac throttle */
-	on_ac = gpm_ac_adapter_is_present (manager->priv->ac_adapter);
-	update_ac_throttle (manager, on_ac);
+	update_ac_throttle (manager);
 }
 
 /**
diff --git a/src/gpm-notify.c b/src/gpm-notify.c
index c192ca1..697ea04 100644
--- a/src/gpm-notify.c
+++ b/src/gpm-notify.c
@@ -40,8 +40,8 @@
 #include <gtk/gtk.h>
 #include <gconf/gconf-client.h>
 #include <libnotify/notify.h>
+#include <devkit-power-gobject/devicekit-power.h>
 
-#include "gpm-ac-adapter.h"
 #include "gpm-common.h"
 #include "egg-debug.h"
 #include "gpm-notify.h"
@@ -52,7 +52,7 @@
 
 struct GpmNotifyPrivate
 {
-	GpmAcAdapter		*ac_adapter;
+	DkpClient		*client;
 	GConfClient		*conf;
 	GtkStatusIcon		*status_icon;
 	gchar			*internet_url;
@@ -181,19 +181,19 @@ gpm_notify_cancel (GpmNotify *notify)
 /**
  * power_on_ac_changed_cb:
  * @power: The power class instance
- * @on_ac: if we are on AC power
  * @icon: This class instance
  *
  * Does the actions when the ac power source is inserted/removed.
  **/
 static void
-ac_adapter_changed_cb (GpmAcAdapter *ac_adapter,
-		       gboolean      on_ac,
-		       GpmNotify    *notify)
+gpm_notify_client_changed_cb (DkpClient *client, GpmNotify *notify)
 {
-	/* for where we add back the ac_adapter before the "AC Power unplugged"
+	gboolean on_battery;
+
+	/* for where we add back the client before the "AC Power unplugged"
 	 * message times out. */
-	if (on_ac) {
+	on_battery = dkp_client_on_battery (client);
+	if (!on_battery) {
 		egg_debug ("clearing notify due ac being present");
 		gpm_notify_cancel (notify);
 	}
@@ -530,8 +530,8 @@ gpm_notify_finalize (GObject *object)
 	if (notify->priv->libnotify != NULL)
 		notify_notification_close (notify->priv->libnotify, NULL);
 	g_object_unref (notify->priv->conf);
-	if (notify->priv->ac_adapter != NULL)
-		g_object_unref (notify->priv->ac_adapter);
+	if (notify->priv->client != NULL)
+		g_object_unref (notify->priv->client);
 
 	G_OBJECT_CLASS (gpm_notify_parent_class)->finalize (object);
 }
@@ -543,7 +543,7 @@ static void
 gpm_notify_class_init (GpmNotifyClass *klass)
 {
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
-	object_class->finalize	   = gpm_notify_finalize;
+	object_class->finalize = gpm_notify_finalize;
 
 	g_type_class_add_private (klass, sizeof (GpmNotifyPrivate));
 }
@@ -564,10 +564,10 @@ gpm_notify_init (GpmNotify *notify)
 	notify->priv->conf = gconf_client_get_default ();
 	notify->priv->do_not_show_gconf = NULL;
 
-	/* we use ac_adapter so we can log the event */
-	notify->priv->ac_adapter = gpm_ac_adapter_new ();
-	g_signal_connect (notify->priv->ac_adapter, "ac-adapter-changed",
-			  G_CALLBACK (ac_adapter_changed_cb), notify);
+	/* we use client so we can log the event */
+	notify->priv->client = dkp_client_new ();
+	g_signal_connect (notify->priv->client, "changed",
+			  G_CALLBACK (gpm_notify_client_changed_cb), notify);
 
 	notify->priv->status_icon = NULL;
 	notify->priv->libnotify = NULL;



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