paulo@0: /* paulo@0: * $Id: file_cache.h,v 1.6 2004/03/24 06:28:16 hipnod Exp $ paulo@0: * paulo@0: * Copyright (C) 2001-2003 giFT project (gift.sourceforge.net) paulo@0: * paulo@0: * This program is free software; you can redistribute it and/or modify it paulo@0: * under the terms of the GNU General Public License as published by the paulo@0: * Free Software Foundation; either version 2, or (at your option) any paulo@0: * later version. paulo@0: * paulo@0: * This program is distributed in the hope that it will be useful, but paulo@0: * WITHOUT ANY WARRANTY; without even the implied warranty of paulo@0: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU paulo@0: * General Public License for more details. paulo@0: */ paulo@0: paulo@0: #ifndef GIFT_GT_FILE_CACHE_H_ paulo@0: #define GIFT_GT_FILE_CACHE_H_ paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: typedef struct _file_cache paulo@0: { paulo@0: Dataset *d; paulo@0: time_t mtime; paulo@0: char *file; paulo@0: } FileCache; paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: FileCache *file_cache_new (const char *file); paulo@0: void file_cache_free (FileCache *cache); paulo@0: int file_cache_load (FileCache *cache); paulo@0: void file_cache_flush (FileCache *cache); paulo@0: BOOL file_cache_sync (FileCache *cache); paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: char *file_cache_lookup (FileCache *cache, const char *key); paulo@0: void file_cache_insert (FileCache *cache, const char *key, paulo@0: const char *value); paulo@0: void file_cache_remove (FileCache *cache, const char *key); paulo@0: paulo@0: /*****************************************************************************/ paulo@0: paulo@0: #endif /* GIFT_GT_FILE_CACHE_H_ */