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 #ifndef nsWin32Locale_h__ 6 #define nsWin32Locale_h__ 7 8 #include "nscore.h" 9 #include "nsString.h" 10 #include <windows.h> 11 12 13 class nsWin32Locale { 14 public: 15 static nsresult GetPlatformLocale(const nsAString& locale, LCID* winLCID); 16 static void GetXPLocale(LCID winLCID, nsAString& locale); 17 18 private: 19 // Static class - Don't allow instantiation. nsWin32Locale(void)20 nsWin32Locale(void) {} 21 22 typedef LCID (WINAPI*LocaleNameToLCIDPtr)(LPCWSTR lpName, DWORD dwFlags); 23 typedef int (WINAPI*LCIDToLocaleNamePtr)(LCID Locale, LPWSTR lpName, 24 int cchName, DWORD dwFlags); 25 26 static LocaleNameToLCIDPtr localeNameToLCID; 27 static LCIDToLocaleNamePtr lcidToLocaleName; 28 29 static void initFunctionPointers (); 30 }; 31 32 #endif 33