[Goodies-commits] r6931 - in xfce4-power-manager/trunk: . libxfpm src
Ali Abdallah
aliov at xfce.org
Tue Mar 17 19:15:57 CET 2009
Author: aliov
Date: 2009-03-17 18:15:57 +0000 (Tue, 17 Mar 2009)
New Revision: 6931
Added:
xfce4-power-manager/trunk/libxfpm/hal-proxy.c
xfce4-power-manager/trunk/libxfpm/hal-proxy.h
Modified:
xfce4-power-manager/trunk/ChangeLog
xfce4-power-manager/trunk/libxfpm/Makefile.am
xfce4-power-manager/trunk/src/xfpm-battery.c
xfce4-power-manager/trunk/src/xfpm-battery.h
xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
xfce4-power-manager/trunk/src/xfpm-engine.c
xfce4-power-manager/trunk/src/xfpm-manager.c
xfce4-power-manager/trunk/src/xfpm-supply.c
xfce4-power-manager/trunk/src/xfpm-tray-icon.c
Log:
Added experimentale code to monitor hal proxy+some typos
Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/ChangeLog 2009-03-17 18:15:57 UTC (rev 6931)
@@ -1,4 +1,7 @@
+2009-03-17 19:15 Ali aliov at xfce.org
+ * : Added experimentale code to monitor hal proxy+some typos
+
2009-03-17 13:10 Ali aliov at xfce.org
* : Fix a bug in idle timeout that was breaking gdk events
Modified: xfce4-power-manager/trunk/libxfpm/Makefile.am
===================================================================
--- xfce4-power-manager/trunk/libxfpm/Makefile.am 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/libxfpm/Makefile.am 2009-03-17 18:15:57 UTC (rev 6931)
@@ -8,6 +8,8 @@
xfpm-string.h \
hal-marshal.c \
hal-marshal.h \
+ hal-proxy.c \
+ hal-proxy.h \
hal-manager.c \
hal-manager.h \
hal-power.c \
Added: xfce4-power-manager/trunk/libxfpm/hal-proxy.c
===================================================================
--- xfce4-power-manager/trunk/libxfpm/hal-proxy.c (rev 0)
+++ xfce4-power-manager/trunk/libxfpm/hal-proxy.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -0,0 +1,169 @@
+/*
+ * * Copyright (C) 2008 Ali <aliov at xfce.org>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <glib.h>
+
+#include <dbus/dbus-glib.h>
+
+#include "hal-proxy.h"
+
+/* Init */
+static void hal_proxy_class_init (HalProxyClass *klass);
+static void hal_proxy_init (HalProxy *hal_proxy);
+static void hal_proxy_finalize (GObject *object);
+
+#define HAL_PROXY_GET_PRIVATE(o) \
+(G_TYPE_INSTANCE_GET_PRIVATE((o), HAL_TYPE_PROXY, HalProxyPrivate))
+
+struct HalProxyPrivate
+{
+ DBusGProxy *proxy;
+};
+
+enum
+{
+ HAL_DISCONNECTED,
+ HAL_CONNECTED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_TYPE(HalProxy, hal_proxy, G_TYPE_OBJECT)
+/*
+static void
+hal_proxy_destroy_cb (DBusGProxy *proxy, HalProxy *hal_proxy)
+{
+ g_signal_emit (G_OBJECT(hal_proxy), signals[HAL_DISCONNECTED], 0);
+}
+*/
+
+static void
+hal_proxy_name_owner_changed_cb (DBusGProxy *proxy, const gchar *name,
+ const gchar *prev, const gchar *new,
+ HalProxy *hproxy)
+{
+
+ g_print("name=%s prev=%s new=%s\n", name, prev, new);
+}
+
+
+static void
+hal_proxy_name_aquired_cb (DBusGProxy *proxy, const gchar *name, gpointer data)
+{
+
+ g_print("name=%s\n", name);
+}
+
+static void
+hal_proxy_get (HalProxy *hal_proxy)
+{
+ GError *error = NULL;
+ DBusGConnection *bus;
+
+ bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+
+ if ( error )
+ {
+ g_critical ("error getting system bus connection: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ hal_proxy->priv->proxy = dbus_g_proxy_new_for_name_owner (bus,
+ "org.freedesktop.Hal",
+ "/org/freedesktop/Hal/Manager",
+ "org.freedesktop.Hal.Manager",
+ &error);
+ if ( error )
+ {
+ g_critical ("Error getting proxy to hald: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+
+ //g_signal_connect (hal_proxy->priv->proxy, "destroy",
+ // G_CALLBACK(hal_proxy_destroy_cb), hal_proxy);
+
+ dbus_g_proxy_add_signal (hal_proxy->priv->proxy, "NameOwnerChanged",
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
+
+ dbus_g_proxy_connect_signal (hal_proxy->priv->proxy, "NameOwnerChanged",
+ G_CALLBACK(hal_proxy_name_owner_changed_cb), hal_proxy, NULL);
+
+ dbus_g_proxy_add_signal (hal_proxy->priv->proxy, "NameAcquired",
+ G_TYPE_STRING, G_TYPE_INVALID);
+
+ dbus_g_proxy_connect_signal (hal_proxy->priv->proxy, "NameAcquired",
+ G_CALLBACK(hal_proxy_name_aquired_cb), hal_proxy, NULL);
+}
+
+static void
+hal_proxy_class_init(HalProxyClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ signals[HAL_DISCONNECTED] =
+ g_signal_new("hal-disconnected",
+ HAL_TYPE_PROXY,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(HalProxyClass, hal_disconnected),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0, G_TYPE_NONE);
+
+ object_class->finalize = hal_proxy_finalize;
+
+ g_type_class_add_private(klass,sizeof(HalProxyPrivate));
+}
+
+static void
+hal_proxy_init(HalProxy *hal_proxy)
+{
+ hal_proxy->priv = HAL_PROXY_GET_PRIVATE(hal_proxy);
+
+ hal_proxy_get (hal_proxy);
+}
+
+static void
+hal_proxy_finalize(GObject *object)
+{
+ HalProxy *hal_proxy;
+
+ hal_proxy = HAL_PROXY(object);
+
+ G_OBJECT_CLASS(hal_proxy_parent_class)->finalize(object);
+}
+
+HalProxy *
+hal_proxy_new(void)
+{
+ HalProxy *hal_proxy = NULL;
+ hal_proxy = g_object_new(HAL_TYPE_PROXY,NULL);
+ return hal_proxy;
+}
Added: xfce4-power-manager/trunk/libxfpm/hal-proxy.h
===================================================================
--- xfce4-power-manager/trunk/libxfpm/hal-proxy.h (rev 0)
+++ xfce4-power-manager/trunk/libxfpm/hal-proxy.h 2009-03-17 18:15:57 UTC (rev 6931)
@@ -0,0 +1,54 @@
+/*
+ * * Copyright (C) 2009 Ali <aliov at xfce.org>
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __HAL_PROXY_H
+#define __HAL_PROXY_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define HAL_TYPE_PROXY (hal_proxy_get_type () )
+#define HAL_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST((o), HAL_TYPE_PROXY, HalProxy))
+#define HAL_IS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), HAL_TYPE_PROXY))
+
+typedef struct HalProxyPrivate HalProxyPrivate;
+
+typedef struct
+{
+ GObject parent;
+ HalProxyPrivate *priv;
+
+} HalProxy;
+
+typedef struct
+{
+ GObjectClass parent_class;
+
+ void (*hal_disconnected) (HalProxy *proxy);
+
+} HalProxyClass;
+
+GType hal_proxy_get_type (void) G_GNUC_CONST;
+HalProxy *hal_proxy_new (void);
+
+G_END_DECLS
+
+#endif /* __HAL_PROXY_H */
Modified: xfce4-power-manager/trunk/src/xfpm-battery.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-battery.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-battery.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -42,6 +42,7 @@
#include "xfpm-enum-types.h"
#include "xfpm-battery-info.h"
#include "xfpm-notify.h"
+#include "xfpm-adapter.h"
/* Init */
static void xfpm_battery_class_init (XfpmBatteryClass *klass);
@@ -53,8 +54,9 @@
struct XfpmBatteryPrivate
{
- XfpmTrayIcon *icon;
- HalBattery *device;
+ XfpmTrayIcon *icon;
+ XfpmAdapter *adapter;
+ HalBattery *device;
HalDeviceType type;
gchar *icon_prefix;
@@ -77,66 +79,6 @@
G_DEFINE_TYPE(XfpmBattery, xfpm_battery, G_TYPE_OBJECT)
-static void
-xfpm_battery_class_init(XfpmBatteryClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS(klass);
-
- signals[BATTERY_STATE_CHANGED] =
- g_signal_new("battery-state-changed",
- XFPM_TYPE_BATTERY,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(XfpmBatteryClass, battery_state_changed),
- NULL, NULL,
- g_cclosure_marshal_VOID__ENUM,
- G_TYPE_NONE, 1, XFPM_TYPE_BATTERY_STATE);
-
- signals[POPUP_BATTERY_MENU] =
- g_signal_new("popup-battery-menu",
- XFPM_TYPE_BATTERY,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(XfpmBatteryClass, popup_battery_menu),
- NULL, NULL,
- _xfpm_marshal_VOID__POINTER_UINT_UINT_UINT,
- G_TYPE_NONE, 4,
- GTK_TYPE_STATUS_ICON,
- G_TYPE_UINT,
- G_TYPE_UINT,
- G_TYPE_UINT);
-
- object_class->finalize = xfpm_battery_finalize;
-
-
- g_type_class_add_private(klass,sizeof(XfpmBatteryPrivate));
-}
-
-static void
-xfpm_battery_init(XfpmBattery *battery)
-{
- battery->priv = XFPM_BATTERY_GET_PRIVATE(battery);
-
- battery->priv->icon = xfpm_tray_icon_new();
- battery->priv->show_icon = SHOW_ICON_ALWAYS;
-}
-
-static void
-xfpm_battery_finalize(GObject *object)
-{
- XfpmBattery *battery;
- battery = XFPM_BATTERY(object);
-
- if ( battery->priv->icon )
- g_object_unref (battery->priv->icon);
-
- if ( battery->priv->device )
- g_object_unref (battery->priv->device);
-
- if ( battery->priv->icon_prefix )
- g_free(battery->priv->icon_prefix);
-
- G_OBJECT_CLASS(xfpm_battery_parent_class)->finalize(object);
-}
-
static const gchar *
xfpm_battery_get_icon_index (HalDeviceType type, guint percent)
{
@@ -157,7 +99,7 @@
static void
xfpm_battery_refresh_visible_icon (XfpmBattery *battery)
{
- gboolean visible = FALSE, tray_visible = FALSE;
+ gboolean visible = FALSE;
if ( battery->priv->show_icon == SHOW_ICON_ALWAYS )
visible = TRUE;
@@ -174,13 +116,7 @@
else visible = TRUE;
}
- tray_visible = xfpm_tray_icon_get_visible (battery->priv->icon);
-
- if ( tray_visible != visible )
- {
- TRACE ("Settings battery visibility %s\n", xfpm_bool_to_string(visible));
- xfpm_tray_icon_set_visible (battery->priv->icon, visible);
- }
+ xfpm_tray_icon_set_visible (battery->priv->icon, TRUE);
}
static void
@@ -486,6 +422,77 @@
icon, button, activate_time, battery->priv->type);
}
+static void
+xfpm_battery_adapter_changed_cb (XfpmAdapter *adapter, gboolean present, XfpmBattery *battery)
+{
+ battery->priv->adapter_present = present;
+}
+
+static void
+xfpm_battery_class_init(XfpmBatteryClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ signals[BATTERY_STATE_CHANGED] =
+ g_signal_new("battery-state-changed",
+ XFPM_TYPE_BATTERY,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(XfpmBatteryClass, battery_state_changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__ENUM,
+ G_TYPE_NONE, 1, XFPM_TYPE_BATTERY_STATE);
+
+ signals[POPUP_BATTERY_MENU] =
+ g_signal_new("popup-battery-menu",
+ XFPM_TYPE_BATTERY,
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET(XfpmBatteryClass, popup_battery_menu),
+ NULL, NULL,
+ _xfpm_marshal_VOID__POINTER_UINT_UINT_UINT,
+ G_TYPE_NONE, 4,
+ GTK_TYPE_STATUS_ICON,
+ G_TYPE_UINT,
+ G_TYPE_UINT,
+ G_TYPE_UINT);
+
+ object_class->finalize = xfpm_battery_finalize;
+
+ g_type_class_add_private(klass,sizeof(XfpmBatteryPrivate));
+}
+
+static void
+xfpm_battery_init(XfpmBattery *battery)
+{
+ battery->priv = XFPM_BATTERY_GET_PRIVATE(battery);
+
+ battery->priv->icon = xfpm_tray_icon_new ();
+ battery->priv->show_icon = SHOW_ICON_ALWAYS;
+ battery->priv->adapter = xfpm_adapter_new ();
+
+ battery->priv->adapter_present = xfpm_adapter_get_present (battery->priv->adapter);
+
+ g_signal_connect (battery->priv->adapter ,"adapter-changed",
+ G_CALLBACK(xfpm_battery_adapter_changed_cb), battery);
+}
+
+static void
+xfpm_battery_finalize(GObject *object)
+{
+ XfpmBattery *battery;
+ battery = XFPM_BATTERY(object);
+
+ g_object_unref (battery->priv->icon);
+
+ g_object_unref (battery->priv->device);
+
+ if ( battery->priv->icon_prefix )
+ g_free(battery->priv->icon_prefix);
+
+ g_object_unref (battery->priv->adapter);
+
+ G_OBJECT_CLASS(xfpm_battery_parent_class)->finalize(object);
+}
+
XfpmBattery *
xfpm_battery_new(const HalBattery *device)
{
@@ -510,14 +517,6 @@
return battery;
}
-void xfpm_battery_set_adapter_presence (XfpmBattery *battery, gboolean adapter_present)
-{
- g_return_if_fail ( XFPM_IS_BATTERY(battery));
-
- battery->priv->adapter_present = adapter_present;
- xfpm_battery_refresh (battery);
-}
-
void xfpm_battery_set_show_icon (XfpmBattery *battery, XfpmShowIcon show_icon)
{
g_return_if_fail (XFPM_IS_BATTERY(battery));
Modified: xfce4-power-manager/trunk/src/xfpm-battery.h
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-battery.h 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-battery.h 2009-03-17 18:15:57 UTC (rev 6931)
@@ -62,9 +62,6 @@
GType xfpm_battery_get_type (void) G_GNUC_CONST;
XfpmBattery *xfpm_battery_new (const HalBattery *device);
-void xfpm_battery_set_adapter_presence(XfpmBattery *battery,
- gboolean adapter_present);
-
void xfpm_battery_set_show_icon (XfpmBattery *battery,
XfpmShowIcon show_icon);
Modified: xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-brightness-hal.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-brightness-hal.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -256,7 +256,7 @@
if ( brg->priv->brightness_in_hw )
return;
- if ( brg->priv->hw_level != brg->priv->max_level -2 )
+ if ( brg->priv->hw_level <= brg->priv->max_level -2 )
{
xfpm_brightness_hal_set_level (brg, brg->priv->hw_level + 1 );
brg->priv->hw_level = xfpm_brightness_hal_get_level (brg);
@@ -324,7 +324,7 @@
if ( level != 1 )
{
TRACE ("Reducing brightness, on AC power\n");
- xfpm_brightness_hal_set_level(brg, 1);
+ xfpm_brightness_hal_set_level(brg, 0);
}
}
else if ( id == TIMEOUT_ON_BATTERY_ID && brg->priv->on_battery_timeout != 9)
@@ -334,7 +334,7 @@
if ( level != 1 )
{
- xfpm_brightness_hal_set_level(brg, 1);
+ xfpm_brightness_hal_set_level(brg, 0);
TRACE ("Reducing brightness, on battery power\n");
}
}
@@ -373,6 +373,7 @@
xfpm_brightness_hal_set_timeouts (XfpmBrightnessHal *brg )
{
xfpm_idle_set_alarm (brg->priv->idle, TIMEOUT_ON_AC_ID, brg->priv->on_ac_timeout * 1000);
+
xfpm_idle_set_alarm (brg->priv->idle, TIMEOUT_ON_BATTERY_ID, brg->priv->on_battery_timeout * 1000);
xfpm_idle_alarm_reset_all (brg->priv->idle);
Modified: xfce4-power-manager/trunk/src/xfpm-engine.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-engine.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-engine.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -151,6 +151,7 @@
if ( engine->priv->supply )
g_object_unref (engine->priv->supply);
+
#ifdef HAVE_DPMS
if ( engine->priv->dpms )
g_object_unref (engine->priv->dpms);
@@ -165,6 +166,9 @@
if ( engine->priv->iface)
g_object_unref(engine->priv->iface);
+ if ( engine->priv->adapter)
+ g_object_unref (engine->priv->adapter);
+
if ( engine->priv->button_timer)
g_timer_destroy (engine->priv->button_timer);
@@ -287,7 +291,6 @@
engine->priv->power_management |= SYSTEM_CAN_SUSPEND;
//FIXME: Show errors here
-
}
static void
@@ -301,18 +304,19 @@
engine->priv->cpu = xfpm_cpu_new ();
engine->priv->supply = xfpm_supply_new (engine->priv->power_management);
+ xfpm_supply_monitor (engine->priv->supply);
/*
- * Keys from XF86
- */
+ * Keys from XF86
+ */
engine->priv->xf86_button = xfpm_button_xf86_new ();
g_signal_connect (engine->priv->xf86_button, "xf86-button-pressed",
- G_CALLBACK(xfpm_engine_xf86_button_pressed_cb), engine);
+ G_CALLBACK(xfpm_engine_xf86_button_pressed_cb), engine);
/*
- * Lid from HAL
- */
+ * Lid from HAL
+ */
engine->priv->lid = xfpm_lid_hal_new ();
if ( xfpm_lid_hw_found (engine->priv->lid ))
@@ -320,14 +324,12 @@
G_CALLBACK(xfpm_engine_lid_closed_cb), engine);
/*
- * Brightness HAL
- */
+ * Brightness HAL
+ */
engine->priv->brg_hal = xfpm_brightness_hal_new ();
g_signal_connect (G_OBJECT(engine->priv->supply), "shutdown-request",
G_CALLBACK (xfpm_engine_shutdown_request_battery_cb), engine);
-
- xfpm_supply_monitor (engine->priv->supply);
}
static void
Modified: xfce4-power-manager/trunk/src/xfpm-manager.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-manager.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-manager.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -36,10 +36,12 @@
#include <dbus/dbus-glib-lowlevel.h>
#include "libxfpm/xfpm-string.h"
+#include "libxfpm/hal-proxy.h"
#include "libxfpm/xfpm-dbus.h"
#include "xfpm-manager.h"
#include "xfpm-engine.h"
+#include "xfpm-manager.h"
/* Init */
static void xfpm_manager_class_init (XfpmManagerClass *klass);
@@ -54,7 +56,8 @@
struct XfpmManagerPrivate
{
- XfpmEngine *engine;
+ XfpmEngine *engine;
+ HalProxy *hproxy;
DBusGConnection *session_bus;
};
@@ -62,6 +65,13 @@
G_DEFINE_TYPE(XfpmManager, xfpm_manager, G_TYPE_OBJECT)
static void
+xfpm_manager_hal_disconnected_cb (HalProxy *hproxy, XfpmManager *manager)
+{
+ TRACE("hald disconnected ");
+ //g_object_unref (manager->priv->engine);
+}
+
+static void
xfpm_manager_class_init (XfpmManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
@@ -77,6 +87,8 @@
manager->priv = XFPM_MANAGER_GET_PRIVATE(manager);
manager->priv->session_bus = NULL;
+ manager->priv->engine = NULL;
+ manager->priv->hproxy = NULL;
}
static void
@@ -138,6 +150,12 @@
g_critical ("Unable to reserve bus name\n");
}
+ manager->priv->hproxy = hal_proxy_new ();
+
+ g_signal_connect (manager->priv->hproxy, "hal-disconnected",
+ G_CALLBACK(xfpm_manager_hal_disconnected_cb), manager);
+
+
manager->priv->engine = xfpm_engine_new ();
}
Modified: xfce4-power-manager/trunk/src/xfpm-supply.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-supply.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-supply.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -78,6 +78,8 @@
static guint signals[LAST_SIGNAL] = { 0 };
+static FILE *file = NULL;
+
G_DEFINE_TYPE(XfpmSupply, xfpm_supply, G_TYPE_OBJECT)
static void
@@ -105,11 +107,12 @@
supply->priv = XFPM_SUPPLY_GET_PRIVATE (supply);
supply->priv->power = hal_power_new ();
- supply->priv->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ supply->priv->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
supply->priv->notify = xfpm_notify_new ();
supply->priv->conf = xfpm_xfconf_new ();
}
+
static void
xfpm_supply_finalize (GObject *object)
{
@@ -119,8 +122,7 @@
if ( supply->priv->power )
g_object_unref(supply->priv->power);
- if ( supply->priv->hash )
- g_hash_table_destroy (supply->priv->hash);
+ g_hash_table_destroy (supply->priv->hash);
if ( supply->priv->notify )
g_object_unref (supply->priv->notify);
@@ -130,7 +132,7 @@
if ( supply->priv->adapter )
g_object_unref (supply->priv->adapter);
-
+
G_OBJECT_CLASS(xfpm_supply_parent_class)->finalize(object);
}
@@ -506,31 +508,6 @@
icon, button, activate_time);
}
-//FIXME: Change the name of this function
-
-
-static void
-xfpm_supply_set_adapter_presence (XfpmSupply *supply)
-{
- if ( g_hash_table_size (supply->priv->hash) == 0 )
- return;
-
- int i;
- GList *list = g_hash_table_get_values (supply->priv->hash );
-
- if (!list)
- return;
-
- for ( i = 0;i <g_list_length(list); i++)
- {
- XfpmBattery *battery = NULL;
- battery = (XfpmBattery *) g_list_nth_data (list, i);
- if ( battery )
- xfpm_battery_set_adapter_presence (battery, supply->priv->adapter_present);
- }
- g_list_free (list);
-}
-
static XfpmBattery *
xfpm_supply_get_battery (XfpmSupply *supply, const gchar *udi)
{
@@ -547,13 +524,14 @@
udi = hal_device_get_udi (HAL_DEVICE(device));
TRACE("New battery found %s", udi);
+ fprintf(file, "New battery found with udi %s", udi);
XfpmBattery *battery = xfpm_battery_new (device);
xfpm_battery_set_show_icon (battery, supply->priv->show_icon);
- xfpm_battery_set_adapter_presence (battery, supply->priv->adapter_present);
xfpm_battery_set_critical_level (battery, supply->priv->critical_level);
+
g_hash_table_insert (supply->priv->hash, g_strdup(udi), battery);
g_signal_connect (G_OBJECT(battery), "battery-state-changed",
@@ -641,12 +619,14 @@
g_list_free (list);
}
-static void
+static gboolean
xfpm_supply_monitor_start (XfpmSupply *supply)
{
//FIXME: Check the system formfactor
GPtrArray *array = hal_power_get_batteries (supply->priv->power);
+ file = fopen("/home/ali/tmp", "a");
+ fprintf(file, "array len=%d", array->len);
int i = 0;
for ( i = 0; i<array->len; i++ )
@@ -657,6 +637,8 @@
}
g_ptr_array_free(array, TRUE);
+
+ return FALSE;
}
static void
@@ -732,7 +714,6 @@
xfpm_supply_adapter_changed_cb (XfpmAdapter *adapter, gboolean present, XfpmSupply *supply)
{
supply->priv->adapter_present = present;
- xfpm_supply_set_adapter_presence (supply);
}
/*
@@ -762,7 +743,7 @@
g_signal_connect (supply->priv->conf->channel, "property-changed",
G_CALLBACK(xfpm_supply_property_changed_cb), supply);
- xfpm_supply_monitor_start(supply);
+ xfpm_supply_monitor_start (supply);
g_signal_connect(supply->priv->power, "battery-added",
G_CALLBACK(xfpm_supply_battery_added_cb), supply);
Modified: xfce4-power-manager/trunk/src/xfpm-tray-icon.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-tray-icon.c 2009-03-17 12:10:25 UTC (rev 6930)
+++ xfce4-power-manager/trunk/src/xfpm-tray-icon.c 2009-03-17 18:15:57 UTC (rev 6931)
@@ -34,25 +34,20 @@
#include "libxfpm/xfpm-common.h"
#include "xfpm-tray-icon.h"
+#include "xfpm-string.h"
/* Init */
static void xfpm_tray_icon_class_init (XfpmTrayIconClass *klass);
static void xfpm_tray_icon_init (XfpmTrayIcon *tray);
static void xfpm_tray_icon_finalize (GObject *object);
-static gboolean xfpm_tray_icon_size_change_cb(GtkStatusIcon *icon,
- gint size,
- gpointer data);
-
#define XFPM_TRAY_ICON_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE((o), XFPM_TYPE_TRAY_ICON, XfpmTrayIconPrivate))
struct XfpmTrayIconPrivate
{
GtkStatusIcon *icon;
- gint icon_size;
GQuark icon_quark;
-
};
G_DEFINE_TYPE(XfpmTrayIcon, xfpm_tray_icon, G_TYPE_OBJECT)
@@ -71,12 +66,10 @@
xfpm_tray_icon_init(XfpmTrayIcon *tray)
{
tray->priv = XFPM_TRAY_ICON_GET_PRIVATE(tray);
+
tray->priv->icon = gtk_status_icon_new();
- tray->priv->icon_size = 0;
+
tray->priv->icon_quark = 0;
-
- g_signal_connect(G_OBJECT(tray->priv->icon), "size-changed",
- G_CALLBACK(xfpm_tray_icon_size_change_cb), tray);
}
static void
@@ -85,30 +78,13 @@
XfpmTrayIcon *icon;
icon = XFPM_TRAY_ICON(object);
-
+
if ( icon->priv->icon )
g_object_unref(icon->priv->icon);
G_OBJECT_CLASS(xfpm_tray_icon_parent_class)->finalize(object);
}
-static gboolean
-xfpm_tray_icon_size_change_cb(GtkStatusIcon *icon,
- gint size,
- gpointer data)
-{
- XfpmTrayIcon *tray = (XfpmTrayIcon *) data;
-
- if ( size > 128 ) return TRUE;
- if ( tray->priv->icon_quark == 0 ) return TRUE;
-
- tray->priv->icon_size = size;
-
- xfpm_tray_icon_set_icon (tray, g_quark_to_string(tray->priv->icon_quark));
-
- return TRUE;
-}
-
XfpmTrayIcon *
xfpm_tray_icon_new(void)
{
@@ -122,16 +98,8 @@
g_return_if_fail(XFPM_IS_TRAY_ICON(icon));
icon->priv->icon_quark = g_quark_from_string(icon_name);
-
- GdkPixbuf *pix;
- pix = xfpm_load_icon(icon_name, icon->priv->icon_size);
-
- if ( pix )
- {
- gtk_status_icon_set_from_pixbuf(GTK_STATUS_ICON(icon->priv->icon), pix);
- g_object_unref(pix);
- }
-
+
+ gtk_status_icon_set_from_icon_name (GTK_STATUS_ICON(icon->priv->icon), icon_name);
}
void xfpm_tray_icon_set_tooltip (XfpmTrayIcon *icon, const gchar *tooltip)
@@ -143,7 +111,6 @@
#else
gtk_status_icon_set_tooltip (GTK_STATUS_ICON(icon->priv->icon), tooltip);
#endif
-
}
void xfpm_tray_icon_set_visible (XfpmTrayIcon *icon, gboolean visible)
@@ -151,7 +118,6 @@
g_return_if_fail(XFPM_IS_TRAY_ICON(icon));
gtk_status_icon_set_visible(GTK_STATUS_ICON(icon->priv->icon), visible);
-
}
gboolean xfpm_tray_icon_get_visible (XfpmTrayIcon *icon)
More information about the Goodies-commits
mailing list