source: icXML/icXML-devel/src/icxmlc/XMLDefaultCharacterSetAdapter.hpp @ 2720

Last change on this file since 2720 was 2720, checked in by cameron, 6 years ago

Initial check-in of icXML 0.8 source files

File size: 2.4 KB
Line 
1/*
2 *  Copyright © 2012 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 *  icXML is a trademark of International Characters.
5 */
6
7/*
8 * @author Nigel Medforth, nigelm -at- interational-characters.com
9 * @version $Id $
10 *
11 */
12
13#ifndef XMLDEFAULTCHARACTERSETADAPTER_HPP
14#define XMLDEFAULTCHARACTERSETADAPTER_HPP
15
16#include <xercesc/util/XMLUTF16Transcoder.hpp>
17#include <icxmlc/XMLConfig.hpp>
18
19XERCES_CPP_NAMESPACE_BEGIN
20
21class XMLDefaultCharacterSetAdapter : public XMLUTF16CharacterSetAdapter
22{
23
24public:
25
26    XMLDefaultCharacterSetAdapter
27    (
28        XMLTranscoder *         transcoder
29        , MemoryManager *       manager  = XMLPlatformUtils::fgMemoryManager
30    )
31    : XMLUTF16CharacterSetAdapter(&fUTF16Transcoder, manager, 0)
32    , fUTF16Transcoder(XMLUni::fgUTF16EncodingString, fTranscoder->getBlockSize(), 0, fMemoryManager)
33    , fInputTranscoder(transcoder)
34    {
35
36    }
37
38    virtual ~XMLDefaultCharacterSetAdapter()
39    {
40
41    }
42
43    virtual XMLSize_t getCodeUnitSize()
44    {
45        return 2;
46    }
47
48    virtual XMLCh * parse
49    (
50        const XMLByte * const           src
51        , const XMLSize_t                       offset
52        , const XMLSize_t                       avail
53        , const bool                            noMore
54        ,       ContentStream &         contentStream
55        ,           XMLSize_t                   contentOffset
56        ,       unsigned int &          markupCount
57        ,               SymbolArray &           symbolArray
58        ,               unsigned int &          symbolCount
59        ,               StringPtrArray &        stringEndArray
60        ,       unsigned int &          stringEndCount
61        ,       XMLLineColTracker &     lineColTracker
62        ,       BitBlock *                      newLineOrSkipMaskStream
63        ,       BitBlock *                      delMaskStream
64        ,       unsigned int &          incompleteMarkupBytes
65        ,       unsigned int &          unusedSymbols
66        ,       unsigned int &          unusedContent
67        ,               unsigned int &          bytesEaten
68    );
69
70private:
71    // -----------------------------------------------------------------------
72    //  Unimplemented constructors and operators
73    // -----------------------------------------------------------------------
74    XMLDefaultCharacterSetAdapter(const XMLDefaultCharacterSetAdapter&);
75    XMLDefaultCharacterSetAdapter& operator=(const XMLDefaultCharacterSetAdapter&);
76
77
78    XMLUTF16Transcoder                                                    fUTF16Transcoder;
79    XMLTranscoder *                                                       fInputTranscoder;
80};
81
82XERCES_CPP_NAMESPACE_END
83
84#endif // XMLDEFAULTCHARACTERSETADAPTER_HPP
Note: See TracBrowser for help on using the repository browser.