Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4358 Serge 1
/*
2
 * Copyright 2008 Tungsten Graphics, inc.
3
 * All Rights Reserved.
4
 *
5
 * Permission is hereby granted, free of charge, to any person obtaining a
6
 * copy of this software and associated documentation files (the "Software"),
7
 * to deal in the Software without restriction, including without limitation
8
 * on the rights to use, copy, modify, merge, publish, distribute, sub
9
 * license, and/or sell copies of the Software, and to permit persons to whom
10
 * the Software is furnished to do so, subject to the following conditions:
11
 *
12
 * The above copyright notice and this permission notice (including the next
13
 * paragraph) shall be included in all copies or substantial portions of the
14
 * Software.
15
 *
16
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
19
 * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
20
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
22
 * USE OR OTHER DEALINGS IN THE SOFTWARE.
23
 */
24
#ifndef _TRANSLATE_CACHE_H
25
#define _TRANSLATE_CACHE_H
26
 
27
 
28
/*******************************************************************************
29
 * Translate cache.
30
 * Simply used to cache created translates. Avoids unecessary creation of
31
 * translate's if one suitable for a given translate_key has already been
32
 * created.
33
 *
34
 * Note: this functionality depends and requires the CSO module.
35
 */
36
struct translate_cache;
37
 
38
struct translate_key;
39
struct translate;
40
 
41
struct translate_cache *translate_cache_create( void );
42
void translate_cache_destroy(struct translate_cache *cache);
43
 
44
/**
45
 * Will try to find a translate structure matched by the given key.
46
 * If such a structure doesn't exist in the cache the function
47
 * will automatically create it, insert it in the cache and
48
 * return the created version.
49
 *
50
 */
51
struct translate *translate_cache_find(struct translate_cache *cache,
52
                                       struct translate_key *key);
53
 
54
#endif