From 445026e4728feef1295d6d47ba8e873e87fdec41 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 9 Jul 2010 02:51:45 +0200 Subject: Display home screen wallpaper if available --- src/device.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/device.c') diff --git a/src/device.c b/src/device.c index 3d42419..a76b6e7 100644 --- a/src/device.c +++ b/src/device.c @@ -169,6 +169,28 @@ gboolean device_sbs_set_iconstate(sbservices_client_t sbc, plist_t iconstate, GE return result; } +gboolean device_sbs_save_wallpaper(sbservices_client_t sbc, const char *filename, GError **error) +{ + gboolean res = FALSE; + char *png = NULL; + uint64_t pngsize = 0; + + if ((sbservices_get_home_screen_wallpaper_pngdata(sbc, &png, &pngsize) == SBSERVICES_E_SUCCESS) && (pngsize > 0)) { + /* save png icon to disk */ + FILE *f = fopen(filename, "w"); + fwrite(png, 1, pngsize, f); + fclose(f); + res = TRUE; + } else { + if (error) + *error = g_error_new(device_domain, EIO, _("Could not get wallpaper png data")); + } + if (png) { + free(png); + } + return res; +} + device_info_t device_info_new() { return g_new0(struct device_info_int, 1); -- cgit v1.1-32-gdbae