author ffxbld <>
Mon, 29 Jun 2015 13:13:28 -0700
changeset 275215 9d83ab013ab61c7f6e987bf0e7cbab1a1aed1ca8
parent 218935 0732215ac8e87d4f4837a16373ce850766632469
child 390073 51546f9d44b862104805658e4514741d14c7278e
permissions -rw-r--r--
No bug - Tagging mozilla-aurora d77cf3926884 with FIREFOX_BETA_40_BASE a=release DONTBUILD CLOSED TREE

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at */
#ifndef nsWin32Locale_h__
#define nsWin32Locale_h__

#include "nscore.h"
#include "nsString.h"
#include <windows.h>

class nsWin32Locale {
  static nsresult    GetPlatformLocale(const nsAString& locale, LCID* winLCID); 
  static void        GetXPLocale(LCID winLCID, nsAString& locale);

  // Static class - Don't allow instantiation.
  nsWin32Locale(void) {}

  typedef LCID (WINAPI*LocaleNameToLCIDPtr)(LPCWSTR lpName, DWORD dwFlags);
  typedef int (WINAPI*LCIDToLocaleNamePtr)(LCID Locale, LPWSTR lpName,
                                           int cchName, DWORD dwFlags);

  static LocaleNameToLCIDPtr localeNameToLCID;
  static LCIDToLocaleNamePtr lcidToLocaleName;

  static void initFunctionPointers ();