blob: 2c0be28faca4753c96eddf737d40c3187c54ac75 [file] [log] [blame] [edit]
// 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_