From 1d091c665342a6df3542388a694bfe101a415785 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Sat, 18 Dec 2010 18:34:05 +0100 Subject: Do not poll all device info again, just the battery capacity --- src/device.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'src/device.c') diff --git a/src/device.c b/src/device.c index 2d3b3c5..e92fbc2 100644 --- a/src/device.c +++ b/src/device.c @@ -277,9 +277,52 @@ static guint battery_info_get_current_capacity(plist_t battery_info) return (guint)current_capacity; } +gboolean device_poll_battery_capacity(const char *uuid, device_info_t *device_info, GError **error) { + plist_t node = NULL; + idevice_t phone = NULL; + lockdownd_client_t client = NULL; + gboolean res = FALSE; + + printf("%s: %s\n", __func__, uuid); + + if (!device_info) { + return res; + } + + printf("%s\n", __func__); + + g_mutex_lock(idevice_mutex); + if (!device_connect(uuid, &phone, &client, error)) { + goto leave_cleanup; + } + + if (!*device_info) { + /* make new device info */ + *device_info = device_info_new(); + } + + /* get current battery capacity */ + node = NULL; + lockdownd_get_value(client, "com.apple.mobile.battery", NULL, &node); + (*device_info)->battery_capacity = battery_info_get_current_capacity(node); + plist_free(node); + + res = TRUE; + + leave_cleanup: + if (client) { + lockdownd_client_free(client); + } + idevice_free(phone); + g_mutex_unlock(idevice_mutex); + + return res; +} + gboolean device_get_info(const char *uuid, device_info_t *device_info, GError **error) { - uint64_t interval = 60; + uint8_t boolean = FALSE; + uint64_t integer = 60; plist_t node = NULL; idevice_t phone = NULL; lockdownd_client_t client = NULL; -- cgit v1.1-32-gdbae