Mercurial > geeqie.yaz
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 + +