1 | /* |
---|---|
2 | * Summary: string dictionary |
3 | * Description: dictionary of reusable strings, just used to avoid allocation |
4 | * and freeing operations. |
5 | * |
6 | * Copy: See Copyright for the status of this software. |
7 | * |
8 | * Author: Daniel Veillard |
9 | */ |
10 | |
11 | #ifndef __XML_DICT_H__ |
12 | #define __XML_DICT_H__ |
13 | |
14 | #include <stddef.h> |
15 | #include <libxml/xmlversion.h> |
16 | |
17 | #ifdef __cplusplus |
18 | extern "C"{ |
19 | #endif |
20 | |
21 | /* |
22 | * The dictionary. |
23 | */ |
24 | typedef struct _xmlDict xmlDict; |
25 | typedef xmlDict *xmlDictPtr; |
26 | |
27 | /* |
28 | * Initializer |
29 | */ |
30 | XMLPUBFUN int XMLCALL xmlInitializeDict(void); |
31 | |
32 | /* |
33 | * Constructor and destructor. |
34 | */ |
35 | XMLPUBFUN xmlDictPtr XMLCALL |
36 | xmlDictCreate (void); |
37 | XMLPUBFUN size_t XMLCALL |
38 | xmlDictSetLimit (xmlDictPtr dict, |
39 | size_t limit); |
40 | XMLPUBFUN size_t XMLCALL |
41 | xmlDictGetUsage (xmlDictPtr dict); |
42 | XMLPUBFUN xmlDictPtr XMLCALL |
43 | xmlDictCreateSub(xmlDictPtr sub); |
44 | XMLPUBFUN int XMLCALL |
45 | xmlDictReference(xmlDictPtr dict); |
46 | XMLPUBFUN void XMLCALL |
47 | xmlDictFree (xmlDictPtr dict); |
48 | |
49 | /* |
50 | * Lookup of entry in the dictionary. |
51 | */ |
52 | XMLPUBFUN const xmlChar * XMLCALL |
53 | xmlDictLookup (xmlDictPtr dict, |
54 | const xmlChar *name, |
55 | int len); |
56 | XMLPUBFUN const xmlChar * XMLCALL |
57 | xmlDictExists (xmlDictPtr dict, |
58 | const xmlChar *name, |
59 | int len); |
60 | XMLPUBFUN const xmlChar * XMLCALL |
61 | xmlDictQLookup (xmlDictPtr dict, |
62 | const xmlChar *prefix, |
63 | const xmlChar *name); |
64 | XMLPUBFUN int XMLCALL |
65 | xmlDictOwns (xmlDictPtr dict, |
66 | const xmlChar *str); |
67 | XMLPUBFUN int XMLCALL |
68 | xmlDictSize (xmlDictPtr dict); |
69 | |
70 | /* |
71 | * Cleanup function |
72 | */ |
73 | XMLPUBFUN void XMLCALL |
74 | xmlDictCleanup (void); |
75 | |
76 | #ifdef __cplusplus |
77 | } |
78 | #endif |
79 | #endif /* ! __XML_DICT_H__ */ |
80 |