view src/filecache.h @ 873:bd3bdceb1230

Optimize file_cache_get() by only moving element to front if needed (most of the time there is no need). Reduce code redundancy in file_cache_put() by calling file_cache_get(). Enhance debugging code.
author zas_
date Wed, 02 Jul 2008 08:38:47 +0000
parents 77fc0ea3457d
children 1646720364cf
line wrap: on
line source

/*
 * Geeqie
 * Copyright (C) 2008 The Geeqie Team
 *
 * Author: Vladimir Nadvornik
 *
 * 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 FILECACHE_H
#define FILECACHE_H

#include "main.h"
#include "filedata.h"

typedef struct _FileCacheData FileCacheData;
typedef void (*FileCacheReleaseFunc)(FileData *fd);


FileCacheData *file_cache_new(FileCacheReleaseFunc release, gulong max_size);
gboolean file_cache_get(FileCacheData *fc, FileData *fd);
void file_cache_put(FileCacheData *fc, FileData *fd, gulong size);
void file_cache_dump(FileCacheData *fc);
void file_cache_set_size(FileCacheData *fc, gulong size);
gulong file_cache_get_max_size(FileCacheData *fc);
gulong file_cache_get_size(FileCacheData *fc);
void file_cache_set_max_size(FileCacheData *fc, gulong size);


#endif