1ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
2ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Summary: string dictionnary
3ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Description: dictionary of reusable strings, just used to avoid allocation
4ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *         and freeing operations.
5ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
6ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Copy: See Copyright for the status of this software.
7ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project *
8ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Author: Daniel Veillard
9ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
10ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
11ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifndef __XML_DICT_H__
12ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#define __XML_DICT_H__
13ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
1494442ad4107000e6d49f9b85a46a591495a57632Selim Gurun#include <limits.h>
15ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/xmlversion.h>
16ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#include <libxml/tree.h>
17ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
18ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
19ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projectextern "C" {
20ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
21ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
22ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
23ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * The dictionnary.
24ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
25ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef struct _xmlDict xmlDict;
26ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Projecttypedef xmlDict *xmlDictPtr;
27ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
28ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
2994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun * Initializer
3094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun */
3194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL  xmlInitializeDict(void);
3294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun
3394442ad4107000e6d49f9b85a46a591495a57632Selim Gurun/*
34ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Constructor and destructor.
35ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
36ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDictPtr XMLCALL
37ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictCreate	(void);
3894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN size_t XMLCALL
3994442ad4107000e6d49f9b85a46a591495a57632Selim Gurun			xmlDictSetLimit	(xmlDictPtr dict,
4094442ad4107000e6d49f9b85a46a591495a57632Selim Gurun                                         size_t limit);
4194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN size_t XMLCALL
4294442ad4107000e6d49f9b85a46a591495a57632Selim Gurun			xmlDictGetUsage (xmlDictPtr dict);
43ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN xmlDictPtr XMLCALL
44ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictCreateSub(xmlDictPtr sub);
45ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
46ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictReference(xmlDictPtr dict);
4794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN void XMLCALL
48ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictFree	(xmlDictPtr dict);
49ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
50ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
51ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Lookup of entry in the dictionnary.
52ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
5394442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
54ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictLookup	(xmlDictPtr dict,
55ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         const xmlChar *name,
56ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         int len);
5794442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
58ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictExists	(xmlDictPtr dict,
59ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         const xmlChar *name,
60ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         int len);
6194442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN const xmlChar * XMLCALL
62ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictQLookup	(xmlDictPtr dict,
63ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         const xmlChar *prefix,
64ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project		                         const xmlChar *name);
65ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN int XMLCALL
66ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictOwns	(xmlDictPtr dict,
67ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project					 const xmlChar *str);
6894442ad4107000e6d49f9b85a46a591495a57632Selim GurunXMLPUBFUN int XMLCALL
69ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project			xmlDictSize	(xmlDictPtr dict);
70ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
71ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project/*
72ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project * Cleanup function
73ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project */
74ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source ProjectXMLPUBFUN void XMLCALL
75ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project                        xmlDictCleanup  (void);
76ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project
77ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#ifdef __cplusplus
78ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project}
79ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif
80ab4e2e90f63db6b1cd8bb2e453cac899ef43d42bThe Android Open Source Project#endif /* ! __XML_DICT_H__ */
81