intl/uconv/src/nsUnicodeToUTF8.h

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

michael@0 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
michael@0 2 /* This Source Code Form is subject to the terms of the Mozilla Public
michael@0 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 5
michael@0 6 #ifndef nsUnicodeToUTF8_h___
michael@0 7 #define nsUnicodeToUTF8_h___
michael@0 8
michael@0 9 #include "mozilla/Attributes.h"
michael@0 10 #include "nsIUnicodeEncoder.h"
michael@0 11
michael@0 12 // Class ID for our UnicodeToUTF8 charset converter
michael@0 13 // {7C657D18-EC5E-11d2-8AAC-00600811A836}
michael@0 14 #define NS_UNICODETOUTF8_CID \
michael@0 15 { 0x7c657d18, 0xec5e, 0x11d2, {0x8a, 0xac, 0x0, 0x60, 0x8, 0x11, 0xa8, 0x36}}
michael@0 16
michael@0 17 #define NS_UNICODETOUTF8_CONTRACTID "@mozilla.org/intl/unicode/encoder;1?charset=UTF-8"
michael@0 18
michael@0 19 //#define NS_ERROR_UCONV_NOUNICODETOUTF8
michael@0 20 // NS_ERROR_GENERATE_FAILURE(NS_ERROR_MODULE_UCONV, 0x31)
michael@0 21
michael@0 22 //----------------------------------------------------------------------
michael@0 23 // Class nsUnicodeToUTF8 [declaration]
michael@0 24
michael@0 25 /**
michael@0 26 * A character set converter from Unicode to UTF8.
michael@0 27 *
michael@0 28 * @created 05/Apr/1999
michael@0 29 * @author Catalin Rotaru [CATA]
michael@0 30 */
michael@0 31 class nsUnicodeToUTF8 MOZ_FINAL : public nsIUnicodeEncoder
michael@0 32 {
michael@0 33 NS_DECL_ISUPPORTS
michael@0 34
michael@0 35 public:
michael@0 36
michael@0 37 /**
michael@0 38 * Class constructor.
michael@0 39 */
michael@0 40 nsUnicodeToUTF8() {mHighSurrogate = 0;}
michael@0 41
michael@0 42 NS_IMETHOD Convert(const char16_t * aSrc,
michael@0 43 int32_t * aSrcLength,
michael@0 44 char * aDest,
michael@0 45 int32_t * aDestLength);
michael@0 46
michael@0 47 NS_IMETHOD Finish(char * aDest, int32_t * aDestLength);
michael@0 48
michael@0 49 NS_IMETHOD GetMaxLength(const char16_t * aSrc, int32_t aSrcLength,
michael@0 50 int32_t * aDestLength);
michael@0 51
michael@0 52 NS_IMETHOD Reset() {mHighSurrogate = 0; return NS_OK;}
michael@0 53
michael@0 54 NS_IMETHOD SetOutputErrorBehavior(int32_t aBehavior,
michael@0 55 nsIUnicharEncoder * aEncoder, char16_t aChar) {return NS_OK;}
michael@0 56
michael@0 57 protected:
michael@0 58 char16_t mHighSurrogate;
michael@0 59
michael@0 60 };
michael@0 61
michael@0 62 #endif /* nsUnicodeToUTF8_h___ */

mercurial