source: NonGTP/Xerces/xerces-c_2_8_0/include/xercesc/util/XMLChTranscoder.hpp @ 2674

Revision 2674, 2.9 KB checked in by mattausch, 16 years ago (diff)
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef XMLCHTRANSCODER_HPP
19#define XMLCHTRANSCODER_HPP
20
21#include <xercesc/util/XercesDefs.hpp>
22#include <xercesc/util/TransService.hpp>
23
24XERCES_CPP_NAMESPACE_BEGIN
25
26//
27//  This class provides an implementation of the XMLTranscoder interface
28//  for a simple XMLCh transcoder. This is used for internal entities, which
29//  are already in the native XMLCh format.
30//
31class XMLUTIL_EXPORT XMLChTranscoder : public XMLTranscoder
32{
33public :
34    // -----------------------------------------------------------------------
35    //  Public constructors and destructor
36    // -----------------------------------------------------------------------
37    XMLChTranscoder
38    (
39        const   XMLCh* const    encodingName
40        , const unsigned int    blockSize
41        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
42    );
43
44    virtual ~XMLChTranscoder();
45
46
47    // -----------------------------------------------------------------------
48    //  Implementation of the XMLTranscoder interface
49    // -----------------------------------------------------------------------
50    virtual unsigned int transcodeFrom
51    (
52        const   XMLByte* const          srcData
53        , const unsigned int            srcCount
54        ,       XMLCh* const            toFill
55        , const unsigned int            maxChars
56        ,       unsigned int&           bytesEaten
57        ,       unsigned char* const    charSizes
58    );
59
60    virtual unsigned int transcodeTo
61    (
62        const   XMLCh* const    srcData
63        , const unsigned int    srcCount
64        ,       XMLByte* const  toFill
65        , const unsigned int    maxBytes
66        ,       unsigned int&   charsEaten
67        , const UnRepOpts       options
68    );
69
70    virtual bool canTranscodeTo
71    (
72        const   unsigned int    toCheck
73    )   const;
74
75
76private :
77    // -----------------------------------------------------------------------
78    //  Unimplemented constructors and operators
79    // -----------------------------------------------------------------------
80    XMLChTranscoder(const XMLChTranscoder&);
81    XMLChTranscoder& operator=(const XMLChTranscoder&);
82};
83
84XERCES_CPP_NAMESPACE_END
85
86#endif
Note: See TracBrowser for help on using the repository browser.