-void cache_file(char *base, char *path, AWeatherCacheType update,
- AWeatherCacheDoneCallback callback, gpointer user_data);
+typedef void (*AWeatherCacheChunkCallback)(gchar *file, goffset cur,
+ goffset total, gpointer user_data);
+
+SoupSession *cache_file(char *base, char *path, AWeatherCacheType update,
+ AWeatherCacheChunkCallback user_chunk_cb,
+ AWeatherCacheDoneCallback user_done_cb,
+ gpointer user_data);