]> Pileus Git - grits/blobdiff - src/data.h
Download progress bars
[grits] / src / data.h
index b0ecf61e81cc847da742252108f8aae8859ba566..f08f9365c335125abfa773eb29df70a1217cfbe4 100644 (file)
 #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