X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Fdata%2Fgis-data.h;h=7c8a72834be5b6dc5eea3cfdb9d62a26ecae30f9;hp=a065650f2973d839e14263504a1687bc79b9d0a5;hb=50fd58d421d4b632d0980a5a22ed3506776f00ab;hpb=c0075ba789491de3bb30fd37c6c382685f73bf75
diff --git a/src/data/gis-data.h b/src/data/gis-data.h
index a065650..7c8a728 100644
--- a/src/data/gis-data.h
+++ b/src/data/gis-data.h
@@ -15,27 +15,31 @@
* along with this program. If not, see .
*/
-#ifndef __DATA_H__
-#define __DATA_H__
+#ifndef __GIS_DATA_H__
+#define __GIS_DATA_H__
-#include
+#include
+/**
+ * Various ways to cach a file
+ */
typedef enum {
- GIS_NEVER, // Never cache the file (for offline mode)
- GIS_ONCE, // Cache the file if it does not exist
- GIS_UPDATE, // Append additional data to cached copy (resume)
- GIS_REFRESH, // Delete existing file and cache a new copy
-} GisDataCacheType;
-
-typedef void (*GisDataCacheDoneCallback)(gchar *file, gboolean updated,
- gpointer user_data);
+ GIS_LOCAL, // Only return local files (for offline mode)
+ GIS_ONCE, // Download the file only if it does not exist
+ GIS_UPDATE, // Update the file to be like the server
+ GIS_REFRESH, // Delete the existing file and fetch a new copy
+} GisCacheType;
-typedef void (*GisDataCacheChunkCallback)(gchar *file, goffset cur,
+/**
+ * Function called when part of a file is fetched
+ * Used for updating progress bars, etc
+ */
+typedef void (*GisChunkCallback)(gchar *file, goffset cur,
goffset total, gpointer user_data);
-SoupSession *cache_file(char *base, char *path, GisDataCacheType update,
- GisDataCacheChunkCallback user_chunk_cb,
- GisDataCacheDoneCallback user_done_cb,
- gpointer user_data);
+/**
+ * Open a file and create the parent directory if necessasairy
+ */
+FILE *fopen_p(const gchar *path, const gchar *mode);
#endif