| |
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/. */ |
| |
5 |
| |
6 |
| |
7 #ifndef __nsScriptableUConv_h_ |
| |
8 #define __nsScriptableUConv_h_ |
| |
9 |
| |
10 #include "nsIScriptableUConv.h" |
| |
11 |
| |
12 class nsScriptableUnicodeConverter : public nsIScriptableUnicodeConverter |
| |
13 { |
| |
14 public: |
| |
15 NS_DECL_ISUPPORTS |
| |
16 NS_DECL_NSISCRIPTABLEUNICODECONVERTER |
| |
17 |
| |
18 nsScriptableUnicodeConverter(); |
| |
19 virtual ~nsScriptableUnicodeConverter(); |
| |
20 |
| |
21 protected: |
| |
22 nsCString mCharset; |
| |
23 nsCOMPtr<nsIUnicodeEncoder> mEncoder; |
| |
24 nsCOMPtr<nsIUnicodeDecoder> mDecoder; |
| |
25 bool mIsInternal; |
| |
26 |
| |
27 nsresult FinishWithLength(char **_retval, int32_t* aLength); |
| |
28 nsresult ConvertFromUnicodeWithLength(const nsAString& aSrc, |
| |
29 int32_t* aOutLen, |
| |
30 char **_retval); |
| |
31 |
| |
32 |
| |
33 nsresult InitConverter(); |
| |
34 }; |
| |
35 |
| |
36 #endif |