#ifndef __DATA_H__
#define __DATA_H__
+#include <libsoup/soup.h>
+
typedef enum {
- AWEATHER_ALWAYS,
- AWEATHER_AUTOMATIC,
- AWEATHER_NEVER,
-} AWeatherPolicyType;
+ AWEATHER_ONCE, // Cache the file if it does not exist
+ AWEATHER_UPDATE, // Append additional data to cached copy (resume)
+ AWEATHER_REFRESH, // Delete existing file and cache a new copy
+} AWeatherCacheType;
typedef void (*AWeatherCacheDoneCallback)(gchar *file, gboolean updated,
gpointer user_data);
-void cache_file(char *base, char *path, AWeatherPolicyType 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);
#endif