+struct _CacheInfoMain {
+ gchar *path;
+ GisChunkCallback callback;
+ gpointer user_data;
+ goffset cur, total;
+};
+
+/* call the user callback from the main thread,
+ * since it's usually UI updates */
+static gboolean _chunk_main_cb(gpointer _infomain)
+{
+ struct _CacheInfoMain *infomain = _infomain;
+ infomain->callback(infomain->path,
+ infomain->cur, infomain->total,
+ infomain->user_data);
+ g_free(infomain);
+ return FALSE;
+}