[Xfce4-commits] <xfce4-power-manager:master> Added runtime check for upower and devkit power, as well as devkit-disks and udisks, as xfpm uses the disk service to spin down hard disks.
Ali Abdallah
noreply at xfce.org
Tue Feb 2 11:04:01 CET 2010
Updating branch refs/heads/master
to d20a7732f68506e539b6f4e5d27270e082f4fb8c (commit)
from f1c3970a6ff1250c88c3db45d14ae02f5da14edc (commit)
commit d20a7732f68506e539b6f4e5d27270e082f4fb8c
Author: Ali Abdallah <aliov at xfce.org>
Date: Tue Feb 2 10:58:28 2010 +0100
Added runtime check for upower and devkit power, as well as devkit-disks and udisks, as xfpm
uses the disk service to spin down hard disks.
src/xfpm-battery.c | 7 ++-
src/xfpm-battery.h | 1 +
src/xfpm-disks.c | 19 +++++--
src/xfpm-manager.c | 3 +-
src/xfpm-power-common.c | 1 +
src/xfpm-power-common.h | 32 +++++++------
src/xfpm-power-info.c | 102 ++++++++++++++++++++++++++++-----------
src/xfpm-power.c | 122 ++++++++++++++++++++++++++++++++++------------
src/xfpm-power.h | 6 +-
9 files changed, 207 insertions(+), 86 deletions(-)
diff --git a/src/xfpm-battery.c b/src/xfpm-battery.c
index dea3a90..7926f5c 100644
--- a/src/xfpm-battery.c
+++ b/src/xfpm-battery.c
@@ -64,6 +64,8 @@ struct XfpmBatteryPrivate
guint percentage;
gint64 time_to_full;
gint64 time_to_empty;
+
+ const gchar *backend_iface_device; /*upower or devkit*/
gulong sig;
};
@@ -510,7 +512,8 @@ xfpm_battery_changed_cb (DBusGProxy *proxy, XfpmBattery *battery)
{
GHashTable *props;
- props = xfpm_power_get_interface_properties (battery->priv->proxy_prop, DKP_IFACE_DEVICE);
+ props = xfpm_power_get_interface_properties (battery->priv->proxy_prop,
+ battery->priv->backend_iface_device);
if ( props )
xfpm_battery_refresh (battery, props);
@@ -721,12 +724,14 @@ xfpm_battery_new (void)
void xfpm_battery_monitor_device (XfpmBattery *battery,
DBusGProxy *proxy,
DBusGProxy *proxy_prop,
+ const gchar *backend_iface_device,
XfpmDeviceType device_type)
{
battery->priv->type = device_type;
battery->priv->proxy_prop = proxy_prop;
battery->priv->proxy = proxy;
battery->priv->icon_prefix = xfpm_battery_get_icon_prefix_device_enum_type (device_type);
+ battery->priv->backend_iface_device = backend_iface_device;
dbus_g_proxy_add_signal (proxy, "Changed", G_TYPE_INVALID);
dbus_g_proxy_connect_signal (proxy, "Changed",
diff --git a/src/xfpm-battery.h b/src/xfpm-battery.h
index 2d0728a..e0a54b7 100644
--- a/src/xfpm-battery.h
+++ b/src/xfpm-battery.h
@@ -58,6 +58,7 @@ GtkStatusIcon *xfpm_battery_new (void);
void xfpm_battery_monitor_device (XfpmBattery *battery,
DBusGProxy *proxy,
DBusGProxy *proxy_prop,
+ const gchar *backend_iface_device,
XfpmDeviceType device_type);
XfpmDeviceType xfpm_battery_get_device_type (XfpmBattery *battery);
diff --git a/src/xfpm-disks.c b/src/xfpm-disks.c
index bde079f..dbceaad 100644
--- a/src/xfpm-disks.c
+++ b/src/xfpm-disks.c
@@ -191,10 +191,19 @@ xfpm_disks_init (XfpmDisks *disks)
}
disks->priv->proxy = dbus_g_proxy_new_for_name (disks->priv->bus,
- "org.freedesktop.DeviceKit.Disks",
- "/org/freedesktop/DeviceKit/Disks",
- "org.freedesktop.DeviceKit.Disks");
-
+ "org.freedesktop.UDisks",
+ "/org/freedesktop/UDisks",
+ "org.freedesktop.UDisks");
+
+ if ( !disks->priv->proxy )
+ {
+ g_message ("UDisks not found, trying devkit-disks");
+ disks->priv->proxy = dbus_g_proxy_new_for_name (disks->priv->bus,
+ "org.freedesktop.DeviceKit.Disks",
+ "/org/freedesktop/DeviceKit/Disks",
+ "org.freedesktop.DeviceKit.Disks");
+ }
+
if ( !disks->priv->proxy )
{
g_warning ("Unable to create proxy for 'org.freedesktop.DeviceKit.Disks'");
@@ -202,7 +211,7 @@ xfpm_disks_init (XfpmDisks *disks)
}
disks->priv->conf = xfpm_xfconf_new ();
- disks->priv->power = xfpm_power_get ();
+ disks->priv->power = xfpm_power_get ();
disks->priv->polkit = xfpm_polkit_get ();
xfpm_disks_get_is_auth_to_spin (disks);
diff --git a/src/xfpm-manager.c b/src/xfpm-manager.c
index b9c157a..b17c8f9 100644
--- a/src/xfpm-manager.c
+++ b/src/xfpm-manager.c
@@ -110,7 +110,8 @@ xfpm_manager_class_init (XfpmManagerClass *klass)
static void
xfpm_manager_init (XfpmManager *manager)
{
- manager->priv = XFPM_MANAGER_GET_PRIVATE(manager);
+ manager->priv = XFPM_MANAGER_GET_PRIVATE (manager);
+
manager->priv->timer = g_timer_new ();
notify_init ("xfce4-power-manager");
diff --git a/src/xfpm-power-common.c b/src/xfpm-power-common.c
index 0b4dd1b..922e22e 100644
--- a/src/xfpm-power-common.c
+++ b/src/xfpm-power-common.c
@@ -23,6 +23,7 @@
#endif
#include <libxfce4util/libxfce4util.h>
+#include <dbus/dbus-glib-lowlevel.h>
#include "xfpm-power-common.h"
#include "xfpm-enum-glib.h"
diff --git a/src/xfpm-power-common.h b/src/xfpm-power-common.h
index 83c530d..914441c 100644
--- a/src/xfpm-power-common.h
+++ b/src/xfpm-power-common.h
@@ -33,29 +33,31 @@
#define DKP_PATH_WAKEUPS "/org/freedesktop/DeviceKit/Power/Wakeups"
#define DKP_IFACE_WAKEUPS "org.freedesktop.DeviceKit.Power.Wakeups"
-#define UPOWER_NAME "org.freedesktop.DeviceKit.Power"
-#define UPOWER_PATH "/org/freedesktop/DeviceKit/Power"
-#define UPOWER_IFACE "org.freedesktop.DeviceKit.Power"
-#define UPOWER_IFACE_DEVICE "org.freedesktop.DeviceKit.Power.Device"
+#define UPOWER_NAME "org.freedesktop.UPower"
+#define UPOWER_PATH "/org/freedesktop/UPower"
-#define UPOWER_PATH_WAKEUPS "/org/freedesktop/DeviceKit/Power/Wakeups"
-#define UPOWER_IFACE_WAKEUPS "org.freedesktop.DeviceKit.Power.Wakeups"
+#define UPOWER_IFACE "org.freedesktop.UPower"
+#define UPOWER_IFACE_DEVICE "org.freedesktop.UPower.Device"
+#define UPOWER_PATH_DEVICE "/org/freedesktop/UPower/devices/"
+#define UPOWER_PATH_WAKEUPS "/org/freedesktop/UPower/Wakeups"
+#define UPOWER_IFACE_WAKEUPS "org.freedesktop.UPower.Wakeups"
-GPtrArray *xfpm_power_enumerate_devices (DBusGProxy *proxy);
+GPtrArray *xfpm_power_enumerate_devices (DBusGProxy *proxy);
-GHashTable *xfpm_power_get_interface_properties (DBusGProxy *proxy_prop,
- const gchar *iface_name);
+GHashTable *xfpm_power_get_interface_properties (DBusGProxy *proxy_prop,
+ const gchar *iface_name);
-GValue xfpm_power_get_interface_property (DBusGProxy *proxy,
- const gchar *iface_name,
- const gchar *prop_name);
+GValue xfpm_power_get_interface_property (DBusGProxy *proxy,
+ const gchar *iface_name,
+ const gchar *prop_name);
-const gchar *xfpm_power_translate_device_type (guint type);
+const gchar *xfpm_power_translate_device_type (guint type);
-const gchar *xfpm_power_translate_technology (guint value);
+const gchar *xfpm_power_translate_technology (guint value);
+
+const gchar *xfpm_power_get_icon_name (guint device_type);
-const gchar *xfpm_power_get_icon_name (guint device_type);
#endif /* XFPM_UPOWER_COMMON */
diff --git a/src/xfpm-power-info.c b/src/xfpm-power-info.c
index 6a8bbce..cfd533c 100644
--- a/src/xfpm-power-info.c
+++ b/src/xfpm-power-info.c
@@ -46,6 +46,14 @@
#include "xfpm-unique.h"
+static const gchar *BACKEND_NAME;
+static const gchar *BACKEND_PATH;
+static const gchar *BACKEND_IFACE;
+static const gchar *BACKEND_IFACE_DEVICE;
+static const gchar *BACKEND_PATH_DEVICE;
+static const gchar *BACKEND_IFACE_WAKEUPS;
+static const gchar *BACKEND_PATH_WAKEUPS;
+
typedef struct
{
DBusGConnection *bus;
@@ -346,7 +354,7 @@ xfpm_info_add_device_view (XfpmInfo *info, GHashTable *props, const gchar *objec
gtk_list_store_append (list_store, &iter);
gtk_list_store_set (list_store, &iter,
XFPM_DEVICE_INFO_NAME, _("Device"),
- XFPM_DEVICE_INFO_VALUE, g_str_has_prefix (object_path, DKP_PATH_DEVICE) ? object_path + strlen (DKP_PATH_DEVICE) : object_path,
+ XFPM_DEVICE_INFO_VALUE, g_str_has_prefix (object_path, BACKEND_PATH_DEVICE) ? object_path + strlen (BACKEND_PATH_DEVICE) : object_path,
-1);
i++;
@@ -513,7 +521,7 @@ xfpm_info_add_device (XfpmInfo *info, const gchar *object_path)
GHashTable *props;
proxy_prop = dbus_g_proxy_new_for_name (info->bus,
- DKP_NAME,
+ BACKEND_NAME,
object_path,
DBUS_INTERFACE_PROPERTIES);
@@ -523,7 +531,7 @@ xfpm_info_add_device (XfpmInfo *info, const gchar *object_path)
return;
}
- props = xfpm_power_get_interface_properties (proxy_prop, DKP_IFACE_DEVICE);
+ props = xfpm_power_get_interface_properties (proxy_prop, BACKEND_IFACE_DEVICE);
if ( props )
{
@@ -538,17 +546,50 @@ xfpm_info_power_devices (XfpmInfo *info)
GPtrArray *array = NULL;
guint i;
- info->power_proxy = dbus_g_proxy_new_for_name (info->bus,
- DKP_NAME,
- DKP_PATH,
- DKP_IFACE);
-
- if ( !info->power_proxy )
+ /*Check for upower/devkit power here*/
+
+ info->power_proxy = dbus_g_proxy_new_for_name_owner (info->bus,
+ UPOWER_NAME,
+ UPOWER_PATH,
+ UPOWER_IFACE,
+ NULL);
+
+ if ( info->power_proxy )
{
- g_warning ("Unable to create proxy for : %s", DKP_NAME);
- return;
+ BACKEND_NAME = UPOWER_NAME;
+ BACKEND_PATH = UPOWER_PATH;
+ BACKEND_IFACE = UPOWER_IFACE;
+ BACKEND_IFACE_DEVICE = UPOWER_IFACE_DEVICE;
+ BACKEND_PATH_DEVICE = UPOWER_PATH_DEVICE;
+ BACKEND_IFACE_WAKEUPS = UPOWER_IFACE_WAKEUPS;
+ BACKEND_PATH_WAKEUPS = UPOWER_PATH_WAKEUPS;
+ }
+ else
+ {
+ g_message ("Unable to create proxy for UPower, trying DeviceKit Power...");
+ info->power_proxy = dbus_g_proxy_new_for_name_owner (info->bus,
+ DKP_NAME,
+ DKP_PATH,
+ DKP_IFACE,
+ NULL);
+ if ( info->power_proxy )
+ {
+ g_message ("Devkit Power found in the system");
+
+ BACKEND_NAME = DKP_NAME;
+ BACKEND_PATH = DKP_PATH;
+ BACKEND_IFACE = DKP_IFACE;
+ BACKEND_IFACE_DEVICE = DKP_IFACE_DEVICE;
+ BACKEND_PATH_DEVICE = DKP_PATH_DEVICE;
+ BACKEND_IFACE_WAKEUPS = DKP_IFACE_WAKEUPS;
+ BACKEND_PATH_WAKEUPS = DKP_PATH_WAKEUPS;
+ }
+ else
+ {
+ g_error ("UPower and DevkitPower are not found");
+ }
}
-
+
array = xfpm_power_enumerate_devices (info->power_proxy);
if ( array )
@@ -583,23 +624,26 @@ xfpm_info_update_wakeups (XfpmInfo *info)
GError *error = NULL;
- GType collection_type;
- GType struct_type;
-
+ static GType collection_type = G_TYPE_INVALID;
+ static GType struct_type = G_TYPE_INVALID;
+
GPtrArray *array = NULL;
gboolean ret;
guint i;
- struct_type = dbus_g_type_get_struct ("GValueArray",
- G_TYPE_BOOLEAN,
- G_TYPE_UINT,
- G_TYPE_DOUBLE,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_INVALID);
-
- collection_type = dbus_g_type_get_collection ("GPtrArray", struct_type);
+ if ( G_UNLIKELY (collection_type == G_TYPE_INVALID ) )
+ {
+ struct_type = dbus_g_type_get_struct ("GValueArray",
+ G_TYPE_BOOLEAN,
+ G_TYPE_UINT,
+ G_TYPE_DOUBLE,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_INVALID);
+
+ collection_type = dbus_g_type_get_collection ("GPtrArray", struct_type);
+ }
ret = dbus_g_proxy_call (info->wakeups_proxy, "GetData", &error,
G_TYPE_INVALID,
@@ -608,7 +652,7 @@ xfpm_info_update_wakeups (XfpmInfo *info)
if ( !ret )
{
- g_warning ("GetData Failed on %s : %s", DKP_PATH_WAKEUPS, error->message);
+ g_warning ("GetData Failed on %s : %s", BACKEND_PATH_WAKEUPS, error->message);
g_error_free (error);
return;
}
@@ -709,13 +753,13 @@ xfpm_info_cpu_wakeups (XfpmInfo *info)
GtkCellRenderer *renderer;
info->wakeups_proxy = dbus_g_proxy_new_for_name (info->bus,
- DKP_NAME,
- DKP_PATH_WAKEUPS,
- DKP_IFACE_WAKEUPS);
+ BACKEND_NAME,
+ BACKEND_PATH_WAKEUPS,
+ BACKEND_IFACE_WAKEUPS);
if ( !info->wakeups_proxy )
{
- g_warning ("Unable to create proxy for %s", DKP_PATH_WAKEUPS);
+ g_warning ("Unable to create proxy for %s", BACKEND_PATH_WAKEUPS);
return;
}
diff --git a/src/xfpm-power.c b/src/xfpm-power.c
index 6911b86..50bb0b9 100644
--- a/src/xfpm-power.c
+++ b/src/xfpm-power.c
@@ -50,12 +50,23 @@
#include "xfpm-debug.h"
#include "xfpm-enum-types.h"
+
+static const gchar *BACKEND_NAME;
+static const gchar *BACKEND_PATH;
+static const gchar *BACKEND_IFACE;
+static const gchar *BACKEND_IFACE_DEVICE;
+static const gchar *BACKEND_PATH_DEVICE;
+#ifdef HAVE_POLKIT
+static const gchar *POLKIT_AUTH_SUSPEND;
+static const gchar *POLKIT_AUTH_HIBERNATE;
+#endif /*HAVE_POLKIT*/
+
static void xfpm_power_finalize (GObject *object);
static void xfpm_power_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
static void xfpm_power_dbus_class_init (XfpmPowerClass * klass);
static void xfpm_power_dbus_init (XfpmPower *power);
@@ -63,7 +74,7 @@ static void xfpm_power_dbus_init (XfpmPower *power);
static void xfpm_power_refresh_adaptor_visible (XfpmPower *power);
#define XFPM_POWER_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_DKP, XfpmPowerPrivate))
+(G_TYPE_INSTANCE_GET_PRIVATE ((o), XFPM_TYPE_POWER, XfpmPowerPrivate))
struct XfpmPowerPrivate
{
@@ -87,6 +98,8 @@ struct XfpmPowerPrivate
#endif
gboolean auth_suspend;
gboolean auth_hibernate;
+
+ gboolean dkp_is_upower;
/* Properties */
gboolean on_low_battery;
@@ -138,10 +151,10 @@ static void
xfpm_power_check_polkit_auth (XfpmPower *power)
{
power->priv->auth_suspend = xfpm_polkit_check_auth (power->priv->polkit,
- "org.freedesktop.devicekit.power.suspend");
+ POLKIT_AUTH_SUSPEND);
power->priv->auth_hibernate = xfpm_polkit_check_auth (power->priv->polkit,
- "org.freedesktop.devicekit.power.hibernate");
+ POLKIT_AUTH_HIBERNATE);
}
#endif
@@ -328,7 +341,7 @@ xfpm_power_get_properties (XfpmPower *power)
{
GHashTable *props;
- props = xfpm_power_get_interface_properties (power->priv->proxy_prop, DKP_IFACE);
+ props = xfpm_power_get_interface_properties (power->priv->proxy_prop, BACKEND_IFACE);
xfpm_power_check_pm (power, props);
xfpm_power_check_lid (power, props);
@@ -945,7 +958,7 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
GValue value;
proxy_prop = dbus_g_proxy_new_for_name (power->priv->bus,
- DKP_NAME,
+ BACKEND_NAME,
object_path,
DBUS_INTERFACE_PROPERTIES);
@@ -955,7 +968,7 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
return;
}
- value = xfpm_power_get_interface_property (proxy_prop, DKP_IFACE_DEVICE, "Type");
+ value = xfpm_power_get_interface_property (proxy_prop, BACKEND_IFACE_DEVICE, "Type");
device_type = g_value_get_uint (&value);
@@ -970,12 +983,17 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
XFPM_DEBUG_ENUM (device_type, XFPM_TYPE_DEVICE_TYPE,
"Battery device detected at : %s", object_path);
proxy = dbus_g_proxy_new_for_name (power->priv->bus,
- DKP_NAME,
+ BACKEND_NAME,
object_path,
- DKP_IFACE_DEVICE);
+ BACKEND_IFACE_DEVICE);
battery = xfpm_battery_new ();
gtk_status_icon_set_visible (battery, FALSE);
- xfpm_battery_monitor_device (XFPM_BATTERY (battery), proxy, proxy_prop, device_type);
+ xfpm_battery_monitor_device (XFPM_BATTERY (battery),
+ proxy,
+ proxy_prop,
+ BACKEND_IFACE_DEVICE,
+ device_type);
+
g_hash_table_insert (power->priv->hash, g_strdup (object_path), battery);
g_signal_connect (battery, "popup-menu",
@@ -1146,7 +1164,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [ON_BATTERY_CHANGED] =
g_signal_new ("on-battery-changed",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, on_battery_changed),
NULL, NULL,
@@ -1155,7 +1173,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [LOW_BATTERY_CHANGED] =
g_signal_new ("low-battery-changed",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, low_battery_changed),
NULL, NULL,
@@ -1164,7 +1182,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [LID_CHANGED] =
g_signal_new ("lid-changed",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, lid_changed),
NULL, NULL,
@@ -1173,7 +1191,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [WAKING_UP] =
g_signal_new ("waking-up",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, waking_up),
NULL, NULL,
@@ -1182,7 +1200,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [SLEEPING] =
g_signal_new ("sleeping",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, sleeping),
NULL, NULL,
@@ -1191,7 +1209,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [ASK_SHUTDOWN] =
g_signal_new ("ask-shutdown",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, ask_shutdown),
NULL, NULL,
@@ -1200,7 +1218,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
signals [SHUTDOWN] =
g_signal_new ("shutdown",
- XFPM_TYPE_DKP,
+ XFPM_TYPE_POWER,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET(XfpmPowerClass, shutdown),
NULL, NULL,
@@ -1306,24 +1324,64 @@ xfpm_power_init (XfpmPower *power)
g_error_free (error);
goto out;
}
-
- power->priv->proxy = dbus_g_proxy_new_for_name (power->priv->bus,
- DKP_NAME,
- DKP_PATH,
- DKP_IFACE);
- if (power->priv->proxy == NULL)
+
+ power->priv->proxy = dbus_g_proxy_new_for_name_owner (power->priv->bus,
+ UPOWER_NAME,
+ UPOWER_PATH,
+ UPOWER_IFACE,
+ NULL);
+
+ if ( power->priv->proxy )
{
- g_critical ("Unable to create proxy for %s", DKP_NAME);
- goto out;
+ power->priv->dkp_is_upower = TRUE;
+
+ BACKEND_NAME = UPOWER_NAME;
+ BACKEND_PATH = UPOWER_PATH;
+ BACKEND_IFACE = UPOWER_IFACE;
+ BACKEND_IFACE_DEVICE = UPOWER_IFACE_DEVICE;
+ BACKEND_PATH_DEVICE = UPOWER_PATH_DEVICE;
+#ifdef HAVE_POLKIT
+ POLKIT_AUTH_SUSPEND = "org.freedesktop.upower.suspend";
+ POLKIT_AUTH_HIBERNATE = "org.freedesktop.upower.hibernate";
+#endif
+ }
+ else
+ {
+ g_message ("Unable to create proxy for UPower, trying DeviceKit Power...");
+ power->priv->proxy = dbus_g_proxy_new_for_name_owner (power->priv->bus,
+ DKP_NAME,
+ DKP_PATH,
+ DKP_IFACE,
+ NULL);
+ if ( power->priv->proxy )
+ {
+ g_message ("Devkit Power found in the system");
+ power->priv->dkp_is_upower = FALSE;
+
+ BACKEND_NAME = DKP_NAME;
+ BACKEND_PATH = DKP_PATH;
+ BACKEND_IFACE = DKP_IFACE;
+ BACKEND_IFACE_DEVICE = DKP_IFACE_DEVICE;
+ BACKEND_PATH_DEVICE = DKP_PATH_DEVICE;
+#ifdef HAVE_POLKIT
+ POLKIT_AUTH_SUSPEND = "org.freedesktop.devicekit.power.suspend";
+ POLKIT_AUTH_HIBERNATE = "org.freedesktop.devicekit.power.hibernate";
+#endif
+ }
+ else
+ {
+ g_critical ("UPower and DevkitPower are not found");
+ goto out;
+ }
}
power->priv->proxy_prop = dbus_g_proxy_new_for_name (power->priv->bus,
- DKP_NAME,
- DKP_PATH,
- DBUS_INTERFACE_PROPERTIES);
+ BACKEND_NAME,
+ BACKEND_PATH,
+ DBUS_INTERFACE_PROPERTIES);
if (power->priv->proxy_prop == NULL)
{
- g_critical ("Unable to create proxy for %s", DKP_NAME);
+ g_critical ("Unable to create proxy for %s", BACKEND_NAME);
goto out;
}
@@ -1448,7 +1506,7 @@ xfpm_power_get (void)
}
else
{
- xfpm_power_object = g_object_new (XFPM_TYPE_DKP, NULL);
+ xfpm_power_object = g_object_new (XFPM_TYPE_POWER, NULL);
g_object_add_weak_pointer (xfpm_power_object, &xfpm_power_object);
}
diff --git a/src/xfpm-power.h b/src/xfpm-power.h
index c927354..8cfcd61 100644
--- a/src/xfpm-power.h
+++ b/src/xfpm-power.h
@@ -25,9 +25,9 @@
G_BEGIN_DECLS
-#define XFPM_TYPE_DKP (xfpm_power_get_type () )
-#define XFPM_POWER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XFPM_TYPE_DKP, XfpmPower))
-#define XFPM_IS_DKP(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFPM_TYPE_DKP))
+#define XFPM_TYPE_POWER (xfpm_power_get_type () )
+#define XFPM_POWER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), XFPM_TYPE_POWER, XfpmPower))
+#define XFPM_IS_POWER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFPM_TYPE_POWER))
typedef struct XfpmPowerPrivate XfpmPowerPrivate;
More information about the Xfce4-commits
mailing list