/*
    This file is part of the FElt finite element analysis package.
    Copyright (C) 1993-2000 Jason I. Gobat and Darren C. Atkinson

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

/************************************************************************
 * File:	Cache.h							*
 *									*
 * Description:	This file contains the private function declarations	*
 *		for the caching mechanism of the Drawing widget.	*
 ************************************************************************/

# ifndef _Cache_h
# define _Cache_h

typedef struct cache_data *CacheData, *Cache;

struct cache_data {
    CacheData prev;
    CacheData next;
    String    name;
    XtArgVal  value;
    unsigned  ref_count;
};


extern Cache DW_CacheCreate (
# if NeedFunctionPrototypes
    void
# endif
);


extern void DW_CacheDestroy (
# if NeedFunctionPrototypes
    Cache		/* cache */
# endif
);


extern CacheData DW_CacheLookup (
# if NeedFunctionPrototypes
    Cache,		/* cache */
    String		/* name  */
# endif
);


extern CacheData DW_CacheInsert (
# if NeedFunctionPrototypes
    Cache,		/* cache */
    String,		/* name  */
    XtArgVal		/* value */
# endif
);


extern void DW_CacheAddRef (
# if NeedFunctionPrototypes
    CacheData		/* data  */
# endif
);


extern void DW_CacheDelRef (
# if NeedFunctionPrototypes
    CacheData		/* data  */
# endif
);

# endif /* _Cache_h */


syntax highlighted by Code2HTML, v. 0.9.1