Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cxfa_xmllocale.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef XFA_FXFA_PARSER_CXFA_XMLLOCALE_H_
8#define XFA_FXFA_PARSER_CXFA_XMLLOCALE_H_
9
10#include <memory>
11
12#include "core/fxcrt/unowned_ptr.h"
13#include "fxjs/gc/heap.h"
14#include "third_party/base/containers/span.h"
15#include "v8/include/cppgc/garbage-collected.h"
16#include "xfa/fxfa/parser/gced_locale_iface.h"
17
18class CFX_XMLDocument;
19class CFX_XMLElement;
20
21class CXFA_XMLLocale final : public GCedLocaleIface {
22 public:
23 // Object is created on cppgc heap.
24 static CXFA_XMLLocale* Create(cppgc::Heap* heap, pdfium::span<uint8_t> data);
25
27 ~CXFA_XMLLocale() override;
28
29 // GCedLocaleIface:
30 void Trace(cppgc::Visitor* visitor) const override;
31 WideString GetName() const override;
32 WideString GetDecimalSymbol() const override;
33 WideString GetGroupingSymbol() const override;
34 WideString GetPercentSymbol() const override;
35 WideString GetMinusSymbol() const override;
36 WideString GetCurrencySymbol() const override;
37 WideString GetDateTimeSymbols() const override;
38 WideString GetMonthName(int32_t nMonth, bool bAbbr) const override;
39 WideString GetDayName(int32_t nWeek, bool bAbbr) const override;
40 WideString GetMeridiemName(bool bAM) const override;
41 int GetTimeZoneInMinutes() const override;
42 WideString GetEraName(bool bAD) const override;
43
44 WideString GetDatePattern(DateTimeSubcategory eType) const override;
45 WideString GetTimePattern(DateTimeSubcategory eType) const override;
46 WideString GetNumPattern(NumSubcategory eType) const override;
47
48 private:
49 CXFA_XMLLocale(std::unique_ptr<CFX_XMLDocument> root,
50 const CFX_XMLElement* locale);
51
52 WideString GetPattern(CFX_XMLElement* pElement,
53 WideStringView bsTag,
54 WideStringView wsName) const;
55 WideString GetCalendarSymbol(WideStringView symbol,
56 size_t index,
57 bool bAbbr) const;
58
59 std::unique_ptr<CFX_XMLDocument> xml_doc_;
60 UnownedPtr<const CFX_XMLElement> locale_;
61};
62
63#endif // XFA_FXFA_PARSER_CXFA_XMLLOCALE_H_
void SetDefLocale(GCedLocaleIface *pLocale)
absl::optional< WideString > GetConfigLocaleName(CXFA_Node *pConfig) const
~CXFA_LocaleMgr() override
GCedLocaleIface * GetDefLocale() override
GCedLocaleIface * GetLocaleByName(const WideString &wsLocaleName) override
void Trace(cppgc::Visitor *visitor) const override
WideString GetMeridiemName(bool bAM) const override
WideString GetName() const override
WideString GetDayName(int32_t nWeek, bool bAbbr) const override
WideString GetDatePattern(DateTimeSubcategory eType) const override
WideString GetGroupingSymbol() const override
int GetTimeZoneInMinutes() const override
WideString GetTimePattern(DateTimeSubcategory eType) const override
WideString GetPercentSymbol() const override
WideString GetMonthName(int32_t nMonth, bool bAbbr) const override
WideString GetEraName(bool bAD) const override
~CXFA_NodeLocale() override
WideString GetMinusSymbol() const override
WideString GetDecimalSymbol() const override
WideString GetCurrencySymbol() const override
WideString GetDateTimeSymbols() const override
WideString GetNumPattern(NumSubcategory eType) const override
WideString GetPercentSymbol() const override
WideString GetMinusSymbol() const override
void Trace(cppgc::Visitor *visitor) const override
WideString GetGroupingSymbol() const override
static CXFA_XMLLocale * Create(cppgc::Heap *heap, pdfium::span< uint8_t > data)
WideString GetTimePattern(DateTimeSubcategory eType) const override
WideString GetName() const override
WideString GetDayName(int32_t nWeek, bool bAbbr) const override
WideString GetMonthName(int32_t nMonth, bool bAbbr) const override
WideString GetDatePattern(DateTimeSubcategory eType) const override
WideString GetNumPattern(NumSubcategory eType) const override
WideString GetDateTimeSymbols() const override
~CXFA_XMLLocale() override
int GetTimeZoneInMinutes() const override
WideString GetEraName(bool bAD) const override
WideString GetCurrencySymbol() const override
WideString GetMeridiemName(bool bAM) const override
WideString GetDecimalSymbol() const override
virtual WideString GetName() const =0
static uint32_t FlateOrLZWDecode(bool bLZW, pdfium::span< const uint8_t > src_span, bool bEarlyChange, int predictor, int Colors, int BitsPerComponent, int Columns, uint32_t estimated_size, std::unique_ptr< uint8_t, FxFreeDeleter > *dest_buf, uint32_t *dest_size)
bool operator==(const WideString &other) const
CharType operator[](const size_t index) const
Definition widestring.h:146
WideString XFA_PatternToString(LocaleIface::NumSubcategory category)
constexpr uint32_t FXBSTR_ID(uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4)
Definition fx_string.h:19
XFA_Element
Definition fxfa_basic.h:75
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition heap.h:32
Definition heap.h:12