epoc32/include/stdapis/libxml2/libxml2_dict.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/*
williamr@4
     2
 * Summary: string dictionnary
williamr@4
     3
 * Description: dictionary of reusable strings, just used to avoid allocation
williamr@4
     4
 *         and freeing operations.
williamr@4
     5
 *
williamr@4
     6
 * Copy: See Copyright for the status of this software.
williamr@4
     7
 *
williamr@4
     8
 * Author: Daniel Veillard
williamr@4
     9
 * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
williamr@4
    10
 */
williamr@4
    11
williamr@4
    12
/** @file
williamr@4
    13
@publishedAll
williamr@4
    14
@released
williamr@4
    15
*/
williamr@4
    16
williamr@4
    17
#ifndef XML_DICT_H
williamr@4
    18
#define XML_DICT_H
williamr@4
    19
williamr@4
    20
#include "libxml2_xmlstring.h"
williamr@4
    21
williamr@4
    22
#ifdef __cplusplus
williamr@4
    23
extern "C" {
williamr@4
    24
#endif
williamr@4
    25
williamr@4
    26
typedef struct _xmlDictStrings xmlDictStrings;
williamr@4
    27
typedef xmlDictStrings* xmlDictStringsPtr;
williamr@4
    28
williamr@4
    29
struct _xmlDictStrings {
williamr@4
    30
    xmlDictStringsPtr next;
williamr@4
    31
    xmlChar* free;
williamr@4
    32
    xmlChar* end;
williamr@4
    33
    int size;
williamr@4
    34
    int nbStrings;
williamr@4
    35
    xmlChar array[1];
williamr@4
    36
};
williamr@4
    37
williamr@4
    38
/*
williamr@4
    39
 * An entry in the dictionnary
williamr@4
    40
 */
williamr@4
    41
typedef struct _xmlDictEntry xmlDictEntry;
williamr@4
    42
typedef xmlDictEntry* xmlDictEntryPtr;
williamr@4
    43
struct _xmlDictEntry {
williamr@4
    44
    xmlDictEntryPtr next;
williamr@4
    45
    const xmlChar* name;
williamr@4
    46
    int len;
williamr@4
    47
    int valid;
williamr@4
    48
};
williamr@4
    49
/*
williamr@4
    50
 * The dictionnary.
williamr@4
    51
 */
williamr@4
    52
typedef struct _xmlDict xmlDict;
williamr@4
    53
typedef xmlDict* xmlDictPtr;
williamr@4
    54
williamr@4
    55
/*
williamr@4
    56
 * The entire dictionnary
williamr@4
    57
 */
williamr@4
    58
struct _xmlDict {
williamr@4
    59
    int ref_counter;
williamr@4
    60
williamr@4
    61
    xmlDictEntryPtr dict;
williamr@4
    62
    int size;
williamr@4
    63
    int nbElems;
williamr@4
    64
    xmlDictStringsPtr strings;
williamr@4
    65
williamr@4
    66
    xmlDictPtr      subdict;
williamr@4
    67
};
williamr@4
    68
williamr@4
    69
/*
williamr@4
    70
 * Constructor and destructor.
williamr@4
    71
 */
williamr@4
    72
XMLPUBFUN xmlDictPtr XMLCALL
williamr@4
    73
                        xmlDictCreate   (void);
williamr@4
    74
williamr@4
    75
XMLPUBFUN xmlDictPtr XMLCALL xmlDictCreateSub(xmlDictPtr sub);
williamr@4
    76
williamr@4
    77
XMLPUBFUN int XMLCALL
williamr@4
    78
                        xmlDictReference(xmlDictPtr dict);
williamr@4
    79
XMLPUBFUN void XMLCALL
williamr@4
    80
                        xmlDictFree     (xmlDictPtr dict);
williamr@4
    81
williamr@4
    82
/*
williamr@4
    83
 * Lookup of entry in the dictionnary.
williamr@4
    84
 */
williamr@4
    85
XMLPUBFUN const xmlChar* XMLCALL
williamr@4
    86
                        xmlDictLookup   (xmlDictPtr dict,
williamr@4
    87
                                         const xmlChar *name,
williamr@4
    88
                                         int len);
williamr@4
    89
williamr@4
    90
XMLPUBFUN const xmlChar * XMLCALL
williamr@4
    91
                        xmlDictQLookup  (xmlDictPtr dict,
williamr@4
    92
                                         const xmlChar *prefix,
williamr@4
    93
                                         const xmlChar *name);
williamr@4
    94
williamr@4
    95
#ifndef XMLENGINE_EXCLUDE_UNUSED
williamr@4
    96
XMLPUBFUN int XMLCALL
williamr@4
    97
                        xmlDictSize     (xmlDictPtr dict);
williamr@4
    98
#endif /* ifndef XMLENGINE_EXCLUDE_UNUSED */
williamr@4
    99
williamr@4
   100
XMLPUBFUN int XMLCALL
williamr@4
   101
                        xmlDictOwns     (xmlDictPtr dict,
williamr@4
   102
                                         const xmlChar *str);
williamr@4
   103
#ifdef __cplusplus
williamr@4
   104
}
williamr@4
   105
#endif
williamr@4
   106
#endif /* XML_DICT_H */
williamr@4
   107