diff src/cache-loader.h @ 37:67ba4381497e

Wed Apr 13 18:16:14 2005 John Ellis <johne@verizon.net> * cache-loader.[ch]: New utility to load cache-able data. * cache.[ch]: Add embedded (exif) date caching. * pan-view.c: Use new cache loading mechanism. Add exif date support to timeline and calendar view. * src/Makefile.am: Add cache-loader.[c,h]. ##### Note: GQview CVS on sourceforge is not always up to date, please use ##### ##### an offical release when making enhancements and translation updates. #####
author gqview
date Wed, 13 Apr 2005 22:29:53 +0000
parents
children 71e1ebee420e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cache-loader.h	Wed Apr 13 22:29:53 2005 +0000
@@ -0,0 +1,59 @@
+/*
+ * GQview
+ * (C) 2005 John Ellis
+ *
+ * Author: John Ellis
+ *
+ * This software is released under the GNU General Public License (GNU GPL).
+ * Please read the included file COPYING for more information.
+ * This software comes with no warranty of any kind, use at your own risk!
+ */
+
+
+#ifndef CACHE_LOADER_H
+#define CACHE_LOADER_H
+
+
+#include "cache.h"
+#include "image-load.h"
+
+
+typedef struct _CacheLoader CacheLoader;
+
+typedef void (* CacheLoaderDoneFunc)(CacheLoader *cl, gint error, gpointer data);
+
+
+typedef enum {
+	CACHE_LOADER_NONE	= 0,
+	CACHE_LOADER_DIMENSIONS	= 1 << 0,
+	CACHE_LOADER_DATE	= 1 << 1,
+	CACHE_LOADER_MD5SUM	= 1 << 2,
+	CACHE_LOADER_SIMILARITY	= 1 << 3
+} CacheDataType;
+
+struct _CacheLoader {
+	gchar *path;
+	CacheData *cd;
+
+	CacheDataType todo_mask;
+	CacheDataType done_mask;
+
+	CacheLoaderDoneFunc done_func;
+	gpointer done_data;
+
+	gint error;
+
+	ImageLoader *il;
+	gint idle_id;
+};
+
+
+CacheLoader *cache_loader_new(const gchar *path, CacheDataType load_mask,
+			      CacheLoaderDoneFunc done_func, gpointer done_data);
+
+void cache_loader_free(CacheLoader *cl);
+
+
+#endif
+
+