[tracker/tracker-0.16] tracker-power-upower: Support both UPower 1.0 and pre-1.0 APIs



commit da3d345ac46e71e8badf53e934df07183ddc3353
Author: Colin Walters <walters verbum org>
Date:   Tue Oct 15 06:49:55 2013 -0400

    tracker-power-upower: Support both UPower 1.0 and pre-1.0 APIs
    
    The old one was removed, we we need to pull out the #ifdef.

 configure.ac                         |   10 +++++++---
 src/miners/fs/tracker-power-upower.c |    8 ++++++++
 2 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 29112ce..873eec5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -780,7 +780,7 @@ AC_ARG_ENABLE(upower,
                              [disable UPower support for AC power detection [[default=auto]]]),,
               [enable_upower=auto])
 
-if test "x$enable_upower" != "xno"; then
+AS_IF([test "x$enable_upower" != "xno"], [
    PKG_CHECK_MODULES(UPOWER,
                      [upower-glib >= $UPOWER_REQUIRED],
                      [have_upower=yes],
@@ -788,13 +788,17 @@ if test "x$enable_upower" != "xno"; then
 
    TRACKER_MINER_FS_CFLAGS="$TRACKER_MINER_FS_CFLAGS $UPOWER_CFLAGS"
    TRACKER_MINER_FS_LIBS="$TRACKER_MINER_FS_LIBS $UPOWER_LIBS"
+   save_LIBS=$LIBS
+   LIBS=$UPOWER_LIBS
+   AC_CHECK_FUNC(up_client_get_warning_level)
+   LIBS=$save_LIBS
 
    if test "x$have_upower" = "xyes"; then
       AC_DEFINE(HAVE_UPOWER, [], [Define if we have UPOWER])
    fi
-else
+], [
    have_upower="no  (disabled)"
-fi
+])
 
 if test "x$enable_upower" = "xyes"; then
    if test "x$have_upower" != "xyes"; then
diff --git a/src/miners/fs/tracker-power-upower.c b/src/miners/fs/tracker-power-upower.c
index d3e9406..6934fb4 100644
--- a/src/miners/fs/tracker-power-upower.c
+++ b/src/miners/fs/tracker-power-upower.c
@@ -95,7 +95,11 @@ tracker_power_init (TrackerPower *power)
 
        /* coldplug */
        priv->on_battery = up_client_get_on_battery (priv->client);
+#ifdef HAVE_UP_CLIENT_GET_WARNING_LEVEL
+       priv->on_low_battery = up_client_get_warning_level (priv->client) >= UP_DEVICE_LEVEL_LOW;
+#else
        priv->on_low_battery = up_client_get_on_low_battery (priv->client);
+#endif
 }
 
 static void
@@ -153,7 +157,11 @@ tracker_power_client_changed_cb (UpClient *client, TrackerPower *power)
        }
 
        /* get the on-low-battery state */
+#ifdef HAVE_UP_CLIENT_GET_WARNING_LEVEL
+       on_low_battery = up_client_get_warning_level (priv->client) >= UP_DEVICE_LEVEL_LOW;
+#else
        on_low_battery = up_client_get_on_low_battery (priv->client);
+#endif
        if (on_low_battery != priv->on_low_battery) {
                priv->on_low_battery = on_low_battery;
                g_object_notify (G_OBJECT (power), "on-low-battery");


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