1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef __nsScriptableUConv_h_
7 #define __nsScriptableUConv_h_
9 #include "nsIScriptableUConv.h"
11 #include "mozilla/Encoding.h"
13 class nsScriptableUnicodeConverter
: public nsIScriptableUnicodeConverter
{
16 NS_DECL_NSISCRIPTABLEUNICODECONVERTER
18 nsScriptableUnicodeConverter();
21 virtual ~nsScriptableUnicodeConverter();
23 mozilla::UniquePtr
<mozilla::Encoder
> mEncoder
;
24 mozilla::UniquePtr
<mozilla::Decoder
> mDecoder
;
27 nsresult
FinishWithLength(char** _retval
, int32_t* aLength
);
28 nsresult
ConvertFromUnicodeWithLength(const nsAString
& aSrc
, int32_t* aOutLen
,
31 nsresult
InitConverter(const nsACString
& aCharset
);