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 | #ifdef __cplusplus |
15 | #define __XML_EXTERNC extern "C" |
16 | #else |
17 | #define __XML_EXTERNC |
18 | #endif |
19 | |
20 | /* |
21 | * The dictionary. |
22 | */ |
23 | __XML_EXTERNC typedef struct _xmlDict xmlDict; |
24 | __XML_EXTERNC typedef xmlDict *xmlDictPtr; |
25 | |
26 | #include <limits.h> |
27 | #include <libxml/xmlversion.h> |
28 | #include <libxml/tree.h> |
29 | |
30 | #ifdef __cplusplus |
31 | extern "C"{ |
32 | #endif |
33 | |
34 | /* |
35 | * Initializer |
36 | */ |
37 | XMLPUBFUN int XMLCALL xmlInitializeDict(void); |
38 | |
39 | /* |
40 | * Constructor and destructor. |
41 | */ |
42 | XMLPUBFUN xmlDictPtr XMLCALL |
43 | xmlDictCreate (void); |
44 | XMLPUBFUN size_t XMLCALL |
45 | xmlDictSetLimit (xmlDictPtr dict, |
46 | size_t limit); |
47 | XMLPUBFUN size_t XMLCALL |
48 | xmlDictGetUsage (xmlDictPtr dict); |
49 | XMLPUBFUN xmlDictPtr XMLCALL |
50 | xmlDictCreateSub(xmlDictPtr sub); |
51 | XMLPUBFUN int XMLCALL |
52 | xmlDictReference(xmlDictPtr dict); |
53 | XMLPUBFUN void XMLCALL |
54 | xmlDictFree (xmlDictPtr dict); |
55 | |
56 | /* |
57 | * Lookup of entry in the dictionary. |
58 | */ |
59 | XMLPUBFUN const xmlChar * XMLCALL |
60 | xmlDictLookup (xmlDictPtr dict, |
61 | const xmlChar *name, |
62 | int len); |
63 | XMLPUBFUN const xmlChar * XMLCALL |
64 | xmlDictExists (xmlDictPtr dict, |
65 | const xmlChar *name, |
66 | int len); |
67 | XMLPUBFUN const xmlChar * XMLCALL |
68 | xmlDictQLookup (xmlDictPtr dict, |
69 | const xmlChar *prefix, |
70 | const xmlChar *name); |
71 | XMLPUBFUN int XMLCALL |
72 | xmlDictOwns (xmlDictPtr dict, |
73 | const xmlChar *str); |
74 | XMLPUBFUN int XMLCALL |
75 | xmlDictSize (xmlDictPtr dict); |
76 | |
77 | /* |
78 | * Cleanup function |
79 | */ |
80 | XMLPUBFUN void XMLCALL |
81 | xmlDictCleanup (void); |
82 | |
83 | #ifdef __cplusplus |
84 | } |
85 | #endif |
86 | #endif /* ! __XML_DICT_H__ */ |
87 |