2
#include <dbus/dbus-glib.h>
4
#include "powermanager-draw.h"
5
#include "powermanager-dbus.h"
7
DBusGConnection *dbus_connexion_session;
8
DBusGConnection *dbus_connexion_system;
9
DBusGProxy *dbus_proxy_power;
10
DBusGProxy *dbus_proxy_battery;
12
CD_APPLET_INCLUDE_MY_VARS
14
extern gboolean dbus_enable;
15
extern gboolean battery_present;
16
extern gboolean on_battery;
17
extern int battery_time;
18
extern int battery_charge;
20
gboolean dbus_get_dbus (void)
22
g_print ("%s ()\n",__func__);
24
g_print ("Connexion au bus ... ");
25
dbus_connexion_session = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
26
dbus_connexion_system = dbus_g_bus_get(DBUS_BUS_SYSTEM, NULL);
28
if(!dbus_connexion_session || !dbus_connexion_system)
30
g_print ("echouee\n");
35
g_print ("reussie\n");
37
dbus_proxy_power = dbus_g_proxy_new_for_name (
38
dbus_connexion_session,
39
"org.freedesktop.PowerManagement",
40
"/org/freedesktop/PowerManagement",
41
"org.freedesktop.PowerManagement"
44
dbus_proxy_battery = dbus_g_proxy_new_for_name (
45
dbus_connexion_system,
46
"org.freedesktop.Hal",
47
"/org/freedesktop/Hal/devices/acpi_BAT0",
48
"org.freedesktop.Hal.Device"
51
dbus_g_proxy_add_signal(dbus_proxy_power, "OnBatteryChanged",
59
void dbus_connect_to_bus (void)
61
g_print ("%s ()\n",__func__);
62
dbus_g_proxy_connect_signal(dbus_proxy_power, "OnBatteryChanged",
63
G_CALLBACK(on_battery_changed), NULL, NULL);
66
void dbus_disconnect_from_bus (void)
68
g_print ("%s ()\n",__func__);
69
dbus_g_proxy_disconnect_signal(dbus_proxy_power, "OnBatteryChanged",
70
G_CALLBACK(on_battery_changed), NULL);
71
g_print ("OnBatteryChanged deconnecte\n");
74
gboolean get_on_battery(void)
76
dbus_g_proxy_call (dbus_proxy_power, "GetOnBattery", NULL,
78
G_TYPE_BOOLEAN, &on_battery,
82
void on_battery_changed(DBusGProxy *proxy, gboolean onBattery, gpointer data)
95
void update_stats(void)
99
dbus_g_proxy_call (dbus_proxy_battery, "GetPropertyInteger", NULL,
100
G_TYPE_STRING,"battery.charge_level.percentage",
102
G_TYPE_INT, &battery_charge,
108
void detect_battery(void)
110
dbus_g_proxy_call (dbus_proxy_battery, "GetPropertyBoolean", NULL,
111
G_TYPE_STRING,"battery.present",
113
G_TYPE_BOOLEAN, &battery_present,