diff options
Diffstat (limited to 'intl/uconv/ucvtw/nsBIG5ToUnicode.h')
-rw-r--r-- | intl/uconv/ucvtw/nsBIG5ToUnicode.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/intl/uconv/ucvtw/nsBIG5ToUnicode.h b/intl/uconv/ucvtw/nsBIG5ToUnicode.h new file mode 100644 index 000000000..f25db6cd2 --- /dev/null +++ b/intl/uconv/ucvtw/nsBIG5ToUnicode.h @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef nsBIG5ToUnicode_h___ +#define nsBIG5ToUnicode_h___ + +#include "nsUCSupport.h" + +#define NS_BIG5TOUNICODE_CID \ + { 0xefc323e1, 0xec62, 0x11d2, \ + { 0x8a, 0xac, 0x0, 0x60, 0x8, 0x11, 0xa8, 0x36 } } + +#define NS_BIG5TOUNICODE_CONTRACTID \ + "@mozilla.org/intl/unicode/decoder;1?charset=big5" + +class nsBIG5ToUnicode : public nsBasicDecoderSupport +{ +public: + nsBIG5ToUnicode(); + + NS_IMETHOD Convert(const char* aSrc, + int32_t* aSrcLength, + char16_t* aDest, + int32_t* aDestLength); + + NS_IMETHOD GetMaxLength(const char* aSrc, + int32_t aSrcLength, + int32_t* aDestLength); + + NS_IMETHOD Reset(); + +private: + char16_t mPendingTrail; + uint8_t mBig5Lead; +}; + +#endif /* nsBIG5ToUnicode_h___ */ |