00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055
00056
00057 #ifndef XMLUTF8TRANSCODER_HPP
00058 #define XMLUTF8TRANSCODER_HPP
00059
00060 #include <util/XercesDefs.hpp>
00061 #include <util/TransService.hpp>
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 class XMLUTF8Transcoder : public XMLTranscoder
00072 {
00073 public :
00074
00075
00076
00077 XMLUTF8Transcoder
00078 (
00079 const XMLCh* const encodingName
00080 , const unsigned int blockSize
00081 );
00082
00083 virtual ~XMLUTF8Transcoder();
00084
00085
00086
00087
00088
00089 virtual unsigned int transcodeFrom
00090 (
00091 const XMLByte* const srcData
00092 , const unsigned int srcCount
00093 , XMLCh* const toFill
00094 , const unsigned int maxChars
00095 , unsigned int& bytesEaten
00096 , unsigned char* const charSizes
00097 );
00098
00099 virtual unsigned int transcodeTo
00100 (
00101 const XMLCh* const srcData
00102 , const unsigned int srcCount
00103 , XMLByte* const toFill
00104 , const unsigned int maxBytes
00105 , unsigned int& charsEaten
00106 , const UnRepOpts options
00107 );
00108
00109 virtual bool canTranscodeTo
00110 (
00111 const unsigned int toCheck
00112 ) const;
00113
00114
00115 private :
00116
00117
00118
00119 XMLUTF8Transcoder(const XMLUTF8Transcoder&);
00120 void operator=(const XMLUTF8Transcoder&);
00121 };
00122
00123 #endif