Mercurial > geeqie
view src/cache.h @ 793:baade53888be
used new notification in cache_maint
author | nadvornik |
---|---|
date | Fri, 06 Jun 2008 22:34:15 +0000 |
parents | 444705451f3a |
children | 4fe8f9656107 |
line wrap: on
line source
/* * Geeqie * (C) 2004 John Ellis * Copyright (C) 2008 The Geeqie Team * * 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_H #define CACHE_H #include "similar.h" #define GQ_CACHE_RC_THUMB GQ_RC_DIR G_DIR_SEPARATOR_S "thumbnails" #define GQ_CACHE_RC_METADATA GQ_RC_DIR G_DIR_SEPARATOR_S "metadata" #define GQ_CACHE_LOCAL_THUMB ".thumbnails" #define GQ_CACHE_LOCAL_METADATA ".metadata" #define GQ_CACHE_EXT_THUMB ".png" #define GQ_CACHE_EXT_SIM ".sim" #define GQ_CACHE_EXT_METADATA ".meta" typedef enum { CACHE_TYPE_THUMB, CACHE_TYPE_SIM, CACHE_TYPE_METADATA } CacheType; typedef struct _CacheData CacheData; struct _CacheData { gchar *path; gint width; gint height; time_t date; long checksum; guchar md5sum[16]; ImageSimilarityData *sim; gint dimensions; gint have_date; gint have_checksum; gint have_md5sum; gint similarity; }; gint cache_time_valid(const gchar *cache, const gchar *path); CacheData *cache_sim_data_new(void); void cache_sim_data_free(CacheData *cd); gint cache_sim_data_save(CacheData *cd); CacheData *cache_sim_data_load(const gchar *path); void cache_sim_data_set_dimensions(CacheData *cd, gint w, gint h); void cache_sim_data_set_date(CacheData *cd, time_t date); void cache_sim_data_set_checksum(CacheData *cd, long checksum); void cache_sim_data_set_md5sum(CacheData *cd, guchar digest[16]); void cache_sim_data_set_similarity(CacheData *cd, ImageSimilarityData *sd); gint cache_sim_data_filled(ImageSimilarityData *sd); gint cache_ensure_dir_exists(gchar *path, mode_t mode); gchar *cache_get_location(CacheType type, const gchar *source, gint include_name, mode_t *mode); gchar *cache_find_location(CacheType type, const gchar *source); #endif