# XMLIBM1047Transcoder.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: XMLIBM1047Transcoder.hpp 570552 2007-08-28 19:57:36Z amassari $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_XMLIBM1047TRANSCODER_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_XMLIBM1047TRANSCODER_HPP
    00024
    00025 #include <xercesc/util/XercesDefs.hpp>
    00026 #include <xercesc/util/XML256TableTranscoder.hpp>
    00027
    00028 XERCES_CPP_NAMESPACE_BEGIN
    00029
    00030 //
    00031 //  This class provides an implementation of the XMLTranscoder interface
    00032 //  for a simple 1047-US transcoder. The parser does some encodings
    00033 //  intrinsically without depending upon external transcoding services.
    00034 //  To make everything more orthagonal, we implement these internal
    00035 //  transcoders using the same transcoder abstraction as the pluggable
    00036 //  transcoding services do.
    00037 //
    00038 //
    00039 class XMLUTIL_EXPORT XMLIBM1047Transcoder : public XML256TableTranscoder
    00040 {
    00041 public :
    00042     // -----------------------------------------------------------------------
    00043     //  Public, static methods
    00044     // -----------------------------------------------------------------------
    00045     static XMLCh xlatThisOne(const XMLByte toXlat);
    00046
    00047
    00048     // -----------------------------------------------------------------------
    00049     //  Public constructors and destructor
    00050     // -----------------------------------------------------------------------
    00051     XMLIBM1047Transcoder
    00052     (
    00053         const   XMLCh* const   encodingName
    00054         , const XMLSize_t      blockSize
    00055         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
    00056     );
    00057
    00058     virtual ~XMLIBM1047Transcoder();
    00059
    00060
    00061 private :
    00062     // -----------------------------------------------------------------------
    00063     //  Unimplemented constructors and operators
    00064     // -----------------------------------------------------------------------
    00065     XMLIBM1047Transcoder();
    00066     XMLIBM1047Transcoder(const XMLIBM1047Transcoder&);
    00067     void operator=(const XMLIBM1047Transcoder&);
    00068 };
    00069
    00070 XERCES_CPP_NAMESPACE_END
    00071
    00072 #endif