1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
14 * The Original Code is mozilla.org code.
16 * The Initial Developer of the Original Code is
17 * Sergei Dolgov (sergei_d@fi.tartu.ee); Tartu University
18 * Portions created by the Initial Developer are Copyright (C) 2002
19 * the Initial Developer. All Rights Reserved.
23 * Alternatively, the contents of this file may be used under the terms of
24 * either the GNU General Public License Version 2 or later (the "GPL"), or
25 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26 * in which case the provisions of the GPL or the LGPL are applicable instead
27 * of those above. If you wish to allow use of your version of this file only
28 * under the terms of either the GPL or the LGPL, and not to allow others to
29 * use your version of this file under the terms of the MPL, indicate your
30 * decision by deleting the provisions above and replace them with the notice
31 * and other provisions required by the GPL or the LGPL. If you do not delete
32 * the provisions above, a recipient may use your version of this file under
33 * the terms of any one of the MPL, the GPL or the LGPL.
35 * ***** END LICENSE BLOCK ***** */
37 #include "nsIPlatformCharset.h"
38 #include "nsReadableUtils.h"
39 #include "nsPlatformCharset.h"
41 // In BeOS, each window runs in its own thread. Because of this,
42 // we have a proxy layer between the mozilla UI thread, and calls made
43 // within the window's thread via CallMethod(). However, since the windows
44 // are still running in their own thread, and reference counting takes place within
45 // that thread, we need to reference and de-reference outselves atomically.
46 // See BugZilla Bug# 92793
47 NS_IMPL_THREADSAFE_ISUPPORTS1(nsPlatformCharset
, nsIPlatformCharset
)
49 nsPlatformCharset::nsPlatformCharset()
51 mCharset
.AssignLiteral("UTF-8");
54 nsPlatformCharset::~nsPlatformCharset()
59 nsPlatformCharset::GetCharset(nsPlatformCharsetSel selector
, nsACString
& aResult
)
66 nsPlatformCharset::GetDefaultCharsetForLocale(const nsAString
& localeName
, nsACString
& aResult
)
73 nsPlatformCharset::Init()
78 nsPlatformCharset::MapToCharset(short script
, short region
, nsACString
& aCharset
)
84 nsPlatformCharset::MapToCharset(nsAString
& inANSICodePage
, nsACString
& aCharset
)
90 nsPlatformCharset::InitGetCharset(nsACString
&aString
)
97 nsPlatformCharset::ConvertLocaleToCharsetUsingDeprecatedConfig(nsAString
& locale
, nsACString
& aResult
)
104 nsPlatformCharset::VerifyCharset(nsCString
&aCharset
)
111 nsPlatformCharset::InitInfo()