/**
 * tracker_power_client_changed_cb:
 **/
static void
tracker_power_client_changed_cb (UpClient *client, TrackerPower *power)
{
	gboolean on_battery;
	gboolean on_low_battery;
	TrackerPowerPriv *priv;

	priv = GET_PRIV (power);

	/* get the on-battery state */
	on_battery = up_client_get_on_battery (priv->client);
	if (on_battery != priv->on_battery) {
		priv->on_battery = on_battery;
		g_object_notify (G_OBJECT (power), "on-battery");
	}

	/* 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");
	}
}
static void
tracker_power_init (TrackerPower *power)
{
	TrackerPowerPriv *priv;

	g_message ("Initializing UPower...");

	priv = GET_PRIV (power);

	/* connect to a UPower instance */
	priv->client = up_client_new ();
	g_signal_connect (priv->client, "changed",
	                  G_CALLBACK (tracker_power_client_changed_cb), 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
tracker_power_client_changed_cb (UpClient     *client,
                                 TrackerPower *power)
{
	TrackerPowerPriv *priv;
	gboolean on_battery;
	gboolean on_low_battery;

	priv = GET_PRIV (power);

	/* get the on-battery state */
	on_battery = up_client_get_on_battery (priv->client);
	if (on_battery != priv->on_battery) {
		priv->on_battery = on_battery;
		g_object_notify (G_OBJECT (power), "on-battery");
	}

	/* get the on-low-battery state */
	on_low_battery = up_client_get_on_low_battery (priv->client);
	if (on_low_battery != priv->on_low_battery) {
		priv->on_low_battery = on_low_battery;
		g_object_notify (G_OBJECT (power), "on-low-battery");
	}
}