| // Copyright 2014 The PDFium Authors |
| // 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 |
| |
| #ifndef XFA_FGAS_CRT_LOCALE_IFACE_H_ |
| #define XFA_FGAS_CRT_LOCALE_IFACE_H_ |
| |
| #include "core/fxcrt/widestring.h" |
| |
| class LocaleIface { |
| public: |
| enum class DateTimeSubcategory { |
| kDefault, |
| kShort, |
| kMedium, |
| kFull, |
| kLong, |
| }; |
| |
| enum class NumSubcategory { |
| kPercent, |
| kCurrency, |
| kDecimal, |
| kInteger, |
| }; |
| |
| virtual ~LocaleIface() = default; |
| |
| virtual WideString GetName() const = 0; |
| virtual WideString GetDecimalSymbol() const = 0; |
| virtual WideString GetGroupingSymbol() const = 0; |
| virtual WideString GetPercentSymbol() const = 0; |
| virtual WideString GetMinusSymbol() const = 0; |
| virtual WideString GetCurrencySymbol() const = 0; |
| virtual WideString GetDateTimeSymbols() const = 0; |
| virtual WideString GetMonthName(int32_t nMonth, bool bAbbr) const = 0; |
| virtual WideString GetDayName(int32_t nWeek, bool bAbbr) const = 0; |
| virtual WideString GetMeridiemName(bool bAM) const = 0; |
| virtual int GetTimeZoneInMinutes() const = 0; |
| virtual WideString GetEraName(bool bAD) const = 0; |
| virtual WideString GetDatePattern(DateTimeSubcategory eType) const = 0; |
| virtual WideString GetTimePattern(DateTimeSubcategory eType) const = 0; |
| virtual WideString GetNumPattern(NumSubcategory eType) const = 0; |
| }; |
| |
| #endif // XFA_FGAS_CRT_LOCALE_IFACE_H_ |