Index: xfa/src/fgas/src/localization/fx_localemgr.cpp |
diff --git a/xfa/src/fgas/src/localization/fx_localemgr.cpp b/xfa/src/fgas/src/localization/fx_localemgr.cpp |
index cea681bf569a0d8c9a021e64f606e91c6024c023..b7362633c61d4b2d9bb3cb7539ba916c745bceec 100644 |
--- a/xfa/src/fgas/src/localization/fx_localemgr.cpp |
+++ b/xfa/src/fgas/src/localization/fx_localemgr.cpp |
@@ -1,97 +1,97 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#include "core/include/fxcrt/fx_xml.h" |
-#include "xfa/src/fgas/src/fgas_base.h" |
-#include "fx_localemgr.h" |
- |
-IFX_LocaleMgr* FX_LocaleMgr_Create(const FX_WCHAR* pszLocalPath, |
- FX_WORD wDefaultLCID) { |
- void* pPathHandle = FX_OpenFolder(pszLocalPath); |
- if (!pPathHandle) { |
- return NULL; |
- } |
- CFX_LocaleMgr* pLocaleMgr = new CFX_LocaleMgr(wDefaultLCID); |
- CFX_WideString wsFileName; |
- FX_BOOL bFolder = FALSE; |
- while (FX_GetNextFile(pPathHandle, wsFileName, bFolder)) { |
- if (!bFolder) { |
- if (wsFileName.GetLength() < 4) { |
- continue; |
- } |
- CFX_WideString wsExt = wsFileName.Right(4); |
- wsExt.MakeLower(); |
- if (wsExt != L".xml") { |
- continue; |
- } |
- CFX_WideString wsFullPath(pszLocalPath); |
- wsFullPath += L"\\" + wsFileName; |
- IFX_FileRead* pRead = FX_CreateFileRead(wsFullPath); |
- if (!pRead) { |
- continue; |
- } |
- CXML_Element* pXmlLocale = CXML_Element::Parse(pRead); |
- pRead->Release(); |
- CFX_ByteString bssp = pXmlLocale->GetNamespace(); |
- if (bssp == "http://www.foxitsoftware.com/localization") { |
- CFX_WideString wsLCID = pXmlLocale->GetAttrValue("", "lcid"); |
- wchar_t* pEnd = NULL; |
- FX_DWORD dwLCID = wcstol(wsLCID, &pEnd, 16); |
- if (pLocaleMgr->m_lcid2xml.GetValueAt((void*)(uintptr_t)dwLCID)) { |
- delete pXmlLocale; |
- } else { |
- pLocaleMgr->m_lcid2xml.SetAt((void*)(uintptr_t)dwLCID, pXmlLocale); |
- } |
- } else { |
- delete pXmlLocale; |
- } |
- } |
- } |
- FX_CloseFolder(pPathHandle); |
- return pLocaleMgr; |
-} |
-CFX_LocaleMgr::CFX_LocaleMgr(FX_WORD wDefLCID) : m_wDefLCID(wDefLCID) {} |
-CFX_LocaleMgr::~CFX_LocaleMgr() { |
- FX_POSITION ps = m_lcid2locale.GetStartPosition(); |
- while (ps) { |
- void* plcid; |
- IFX_Locale* pLocale = NULL; |
- m_lcid2locale.GetNextAssoc(ps, plcid, (void*&)pLocale); |
- pLocale->Release(); |
- } |
- m_lcid2locale.RemoveAll(); |
- ps = m_lcid2xml.GetStartPosition(); |
- while (ps) { |
- void* plcid; |
- CXML_Element* pxml = NULL; |
- m_lcid2xml.GetNextAssoc(ps, plcid, (void*&)pxml); |
- delete pxml; |
- } |
- m_lcid2xml.RemoveAll(); |
-} |
-FX_WORD CFX_LocaleMgr::GetDefLocaleID() { |
- return m_wDefLCID; |
-} |
-IFX_Locale* CFX_LocaleMgr::GetDefLocale() { |
- return GetLocale(m_wDefLCID); |
-} |
-IFX_Locale* CFX_LocaleMgr::GetLocale(FX_WORD lcid) { |
- IFX_Locale* pLocale = |
- (IFX_Locale*)m_lcid2locale.GetValueAt((void*)(uintptr_t)lcid); |
- if (!pLocale) { |
- CXML_Element* pxml = |
- (CXML_Element*)m_lcid2xml.GetValueAt((void*)(uintptr_t)lcid); |
- if (pxml) { |
- pLocale = IFX_Locale::Create(pxml); |
- m_lcid2locale.SetAt((void*)(uintptr_t)lcid, pLocale); |
- } |
- } |
- return pLocale; |
-} |
-IFX_Locale* CFX_LocaleMgr::GetLocaleByName( |
- const CFX_WideStringC& wsLocaleName) { |
- return NULL; |
-} |
+// Copyright 2014 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#include "core/include/fxcrt/fx_xml.h" |
+#include "xfa/src/fgas/src/fgas_base.h" |
+#include "fx_localemgr.h" |
+ |
+IFX_LocaleMgr* FX_LocaleMgr_Create(const FX_WCHAR* pszLocalPath, |
+ FX_WORD wDefaultLCID) { |
+ void* pPathHandle = FX_OpenFolder(pszLocalPath); |
+ if (!pPathHandle) { |
+ return NULL; |
+ } |
+ CFX_LocaleMgr* pLocaleMgr = new CFX_LocaleMgr(wDefaultLCID); |
+ CFX_WideString wsFileName; |
+ FX_BOOL bFolder = FALSE; |
+ while (FX_GetNextFile(pPathHandle, wsFileName, bFolder)) { |
+ if (!bFolder) { |
+ if (wsFileName.GetLength() < 4) { |
+ continue; |
+ } |
+ CFX_WideString wsExt = wsFileName.Right(4); |
+ wsExt.MakeLower(); |
+ if (wsExt != L".xml") { |
+ continue; |
+ } |
+ CFX_WideString wsFullPath(pszLocalPath); |
+ wsFullPath += L"\\" + wsFileName; |
+ IFX_FileRead* pRead = FX_CreateFileRead(wsFullPath); |
+ if (!pRead) { |
+ continue; |
+ } |
+ CXML_Element* pXmlLocale = CXML_Element::Parse(pRead); |
+ pRead->Release(); |
+ CFX_ByteString bssp = pXmlLocale->GetNamespace(); |
+ if (bssp == "http://www.foxitsoftware.com/localization") { |
+ CFX_WideString wsLCID = pXmlLocale->GetAttrValue("", "lcid"); |
+ wchar_t* pEnd = NULL; |
+ FX_DWORD dwLCID = wcstol(wsLCID, &pEnd, 16); |
+ if (pLocaleMgr->m_lcid2xml.GetValueAt((void*)(uintptr_t)dwLCID)) { |
+ delete pXmlLocale; |
+ } else { |
+ pLocaleMgr->m_lcid2xml.SetAt((void*)(uintptr_t)dwLCID, pXmlLocale); |
+ } |
+ } else { |
+ delete pXmlLocale; |
+ } |
+ } |
+ } |
+ FX_CloseFolder(pPathHandle); |
+ return pLocaleMgr; |
+} |
+CFX_LocaleMgr::CFX_LocaleMgr(FX_WORD wDefLCID) : m_wDefLCID(wDefLCID) {} |
+CFX_LocaleMgr::~CFX_LocaleMgr() { |
+ FX_POSITION ps = m_lcid2locale.GetStartPosition(); |
+ while (ps) { |
+ void* plcid; |
+ IFX_Locale* pLocale = NULL; |
+ m_lcid2locale.GetNextAssoc(ps, plcid, (void*&)pLocale); |
+ pLocale->Release(); |
+ } |
+ m_lcid2locale.RemoveAll(); |
+ ps = m_lcid2xml.GetStartPosition(); |
+ while (ps) { |
+ void* plcid; |
+ CXML_Element* pxml = NULL; |
+ m_lcid2xml.GetNextAssoc(ps, plcid, (void*&)pxml); |
+ delete pxml; |
+ } |
+ m_lcid2xml.RemoveAll(); |
+} |
+FX_WORD CFX_LocaleMgr::GetDefLocaleID() { |
+ return m_wDefLCID; |
+} |
+IFX_Locale* CFX_LocaleMgr::GetDefLocale() { |
+ return GetLocale(m_wDefLCID); |
+} |
+IFX_Locale* CFX_LocaleMgr::GetLocale(FX_WORD lcid) { |
+ IFX_Locale* pLocale = |
+ (IFX_Locale*)m_lcid2locale.GetValueAt((void*)(uintptr_t)lcid); |
+ if (!pLocale) { |
+ CXML_Element* pxml = |
+ (CXML_Element*)m_lcid2xml.GetValueAt((void*)(uintptr_t)lcid); |
+ if (pxml) { |
+ pLocale = IFX_Locale::Create(pxml); |
+ m_lcid2locale.SetAt((void*)(uintptr_t)lcid, pLocale); |
+ } |
+ } |
+ return pLocale; |
+} |
+IFX_Locale* CFX_LocaleMgr::GetLocaleByName( |
+ const CFX_WideStringC& wsLocaleName) { |
+ return NULL; |
+} |