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 XMLUCS4TRANSCODER_HPP
00058 #define XMLUCS4TRANSCODER_HPP
00059
00060 #include <util/XercesDefs.hpp>
00061 #include <util/TransService.hpp>
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 class XMLUCS4Transcoder : public XMLTranscoder
00073 {
00074 public :
00075
00076
00077
00078 XMLUCS4Transcoder
00079 (
00080 const XMLCh* const encodingName
00081 , const unsigned int blockSize
00082 , const bool swapped
00083 );
00084
00085 virtual ~XMLUCS4Transcoder();
00086
00087
00088
00089
00090
00091 virtual unsigned int transcodeFrom
00092 (
00093 const XMLByte* const srcData
00094 , const unsigned int srcCount
00095 , XMLCh* const toFill
00096 , const unsigned int maxChars
00097 , unsigned int& bytesEaten
00098 , unsigned char* const charSizes
00099 );
00100
00101 virtual unsigned int transcodeTo
00102 (
00103 const XMLCh* const srcData
00104 , const unsigned int srcCount
00105 , XMLByte* const toFill
00106 , const unsigned int maxBytes
00107 , unsigned int& charsEaten
00108 , const UnRepOpts options
00109 );
00110
00111 virtual bool canTranscodeTo
00112 (
00113 const unsigned int toCheck
00114 ) const;
00115
00116
00117 private :
00118
00119
00120
00121 XMLUCS4Transcoder(const XMLUCS4Transcoder&);
00122 void operator=(const XMLUCS4Transcoder&);
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132 bool fSwapped;
00133 };
00134
00135 #endif