| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef XFA_FXFA_PARSER_XFA_LOCALE_H_ | 7 #ifndef XFA_FXFA_PARSER_XFA_LOCALE_H_ |
| 8 #define XFA_FXFA_PARSER_XFA_LOCALE_H_ | 8 #define XFA_FXFA_PARSER_XFA_LOCALE_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| 11 | 11 |
| 12 #include "xfa/fgas/localization/fgas_locale.h" | 12 #include "xfa/fgas/localization/fgas_locale.h" |
| 13 #include "xfa/fxfa/parser/xfa_object.h" | 13 #include "xfa/fxfa/parser/xfa_object.h" |
| 14 | 14 |
| 15 class CXFA_XMLLocale : public IFX_Locale { | 15 class CXFA_XMLLocale : public IFX_Locale { |
| 16 public: | 16 public: |
| 17 explicit CXFA_XMLLocale(std::unique_ptr<CXML_Element> pLocaleData); | 17 explicit CXFA_XMLLocale(std::unique_ptr<CXML_Element> pLocaleData); |
| 18 ~CXFA_XMLLocale() override; |
| 18 | 19 |
| 19 // IFX_Locale | 20 // IFX_Locale |
| 20 void Release() override; | 21 CFX_WideString GetName() const override; |
| 21 CFX_WideString GetName() override; | |
| 22 void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, | 22 void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, |
| 23 CFX_WideString& wsNumSymbol) const override; | 23 CFX_WideString& wsNumSymbol) const override; |
| 24 | 24 |
| 25 void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override; | 25 void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override; |
| 26 void GetMonthName(int32_t nMonth, | 26 void GetMonthName(int32_t nMonth, |
| 27 CFX_WideString& wsMonthName, | 27 CFX_WideString& wsMonthName, |
| 28 FX_BOOL bAbbr = TRUE) const override; | 28 FX_BOOL bAbbr = TRUE) const override; |
| 29 void GetDayName(int32_t nWeek, | 29 void GetDayName(int32_t nWeek, |
| 30 CFX_WideString& wsDayName, | 30 CFX_WideString& wsDayName, |
| 31 FX_BOOL bAbbr = TRUE) const override; | 31 FX_BOOL bAbbr = TRUE) const override; |
| 32 void GetMeridiemName(CFX_WideString& wsMeridiemName, | 32 void GetMeridiemName(CFX_WideString& wsMeridiemName, |
| 33 FX_BOOL bAM = TRUE) const override; | 33 FX_BOOL bAM = TRUE) const override; |
| 34 void GetTimeZone(FX_TIMEZONE& tz) const override; | 34 void GetTimeZone(FX_TIMEZONE& tz) const override; |
| 35 void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override; | 35 void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override; |
| 36 | 36 |
| 37 void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, | 37 void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, |
| 38 CFX_WideString& wsPattern) const override; | 38 CFX_WideString& wsPattern) const override; |
| 39 void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, | 39 void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, |
| 40 CFX_WideString& wsPattern) const override; | 40 CFX_WideString& wsPattern) const override; |
| 41 void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, | 41 void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, |
| 42 CFX_WideString& wsPattern) const override; | 42 CFX_WideString& wsPattern) const override; |
| 43 | 43 |
| 44 protected: | 44 protected: |
| 45 ~CXFA_XMLLocale() override; | |
| 46 | |
| 47 void GetPattern(CXML_Element* pElement, | 45 void GetPattern(CXML_Element* pElement, |
| 48 const CFX_ByteStringC& bsTag, | 46 const CFX_ByteStringC& bsTag, |
| 49 const CFX_WideStringC& wsName, | 47 const CFX_WideStringC& wsName, |
| 50 CFX_WideString& wsPattern) const; | 48 CFX_WideString& wsPattern) const; |
| 51 CFX_WideString GetCalendarSymbol(const CFX_ByteStringC& symbol, | 49 CFX_WideString GetCalendarSymbol(const CFX_ByteStringC& symbol, |
| 52 int index, | 50 int index, |
| 53 FX_BOOL bAbbr) const; | 51 FX_BOOL bAbbr) const; |
| 54 | 52 |
| 55 private: | 53 private: |
| 56 std::unique_ptr<CXML_Element> m_pLocaleData; | 54 std::unique_ptr<CXML_Element> m_pLocaleData; |
| 57 }; | 55 }; |
| 58 | 56 |
| 59 class CXFA_NodeLocale : public IFX_Locale { | 57 class CXFA_NodeLocale : public IFX_Locale { |
| 60 public: | 58 public: |
| 61 CXFA_NodeLocale(CXFA_Node* pLocale); | 59 CXFA_NodeLocale(CXFA_Node* pLocale); |
| 60 ~CXFA_NodeLocale() override; |
| 62 | 61 |
| 63 // IFX_Locale | 62 // IFX_Locale |
| 64 void Release() override; | 63 CFX_WideString GetName() const override; |
| 65 CFX_WideString GetName() override; | |
| 66 void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, | 64 void GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, |
| 67 CFX_WideString& wsNumSymbol) const override; | 65 CFX_WideString& wsNumSymbol) const override; |
| 68 | 66 |
| 69 void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override; | 67 void GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const override; |
| 70 void GetMonthName(int32_t nMonth, | 68 void GetMonthName(int32_t nMonth, |
| 71 CFX_WideString& wsMonthName, | 69 CFX_WideString& wsMonthName, |
| 72 FX_BOOL bAbbr = TRUE) const override; | 70 FX_BOOL bAbbr = TRUE) const override; |
| 73 void GetDayName(int32_t nWeek, | 71 void GetDayName(int32_t nWeek, |
| 74 CFX_WideString& wsDayName, | 72 CFX_WideString& wsDayName, |
| 75 FX_BOOL bAbbr = TRUE) const override; | 73 FX_BOOL bAbbr = TRUE) const override; |
| 76 void GetMeridiemName(CFX_WideString& wsMeridiemName, | 74 void GetMeridiemName(CFX_WideString& wsMeridiemName, |
| 77 FX_BOOL bAM = TRUE) const override; | 75 FX_BOOL bAM = TRUE) const override; |
| 78 void GetTimeZone(FX_TIMEZONE& tz) const override; | 76 void GetTimeZone(FX_TIMEZONE& tz) const override; |
| 79 void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override; | 77 void GetEraName(CFX_WideString& wsEraName, FX_BOOL bAD = TRUE) const override; |
| 80 | 78 |
| 81 void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, | 79 void GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, |
| 82 CFX_WideString& wsPattern) const override; | 80 CFX_WideString& wsPattern) const override; |
| 83 void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, | 81 void GetTimePattern(FX_LOCALEDATETIMESUBCATEGORY eType, |
| 84 CFX_WideString& wsPattern) const override; | 82 CFX_WideString& wsPattern) const override; |
| 85 void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, | 83 void GetNumPattern(FX_LOCALENUMSUBCATEGORY eType, |
| 86 CFX_WideString& wsPattern) const override; | 84 CFX_WideString& wsPattern) const override; |
| 87 | 85 |
| 88 protected: | 86 protected: |
| 89 ~CXFA_NodeLocale() override; | |
| 90 | |
| 91 CXFA_Node* GetNodeByName(CXFA_Node* pParent, | 87 CXFA_Node* GetNodeByName(CXFA_Node* pParent, |
| 92 const CFX_WideStringC& wsName) const; | 88 const CFX_WideStringC& wsName) const; |
| 93 CFX_WideString GetSymbol(XFA_Element eElement, | 89 CFX_WideString GetSymbol(XFA_Element eElement, |
| 94 const CFX_WideStringC& symbol_type) const; | 90 const CFX_WideStringC& symbol_type) const; |
| 95 CFX_WideString GetCalendarSymbol(XFA_Element eElement, | 91 CFX_WideString GetCalendarSymbol(XFA_Element eElement, |
| 96 int index, | 92 int index, |
| 97 FX_BOOL bAbbr) const; | 93 FX_BOOL bAbbr) const; |
| 98 | 94 |
| 99 CXFA_Node* const m_pLocale; | 95 CXFA_Node* const m_pLocale; |
| 100 }; | 96 }; |
| 101 | 97 |
| 102 #endif // XFA_FXFA_PARSER_XFA_LOCALE_H_ | 98 #endif // XFA_FXFA_PARSER_XFA_LOCALE_H_ |
| OLD | NEW |