#include "xfa/fxfa/parser/cxfa_localevalue.h"
#include <wchar.h>
#include <memory>
#include <utility>
#include <vector>
#include "core/fxcrt/cfx_datetime.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/fx_extension.h"
#include "core/fxcrt/span.h"
#include "xfa/fgas/crt/cfgas_stringformatter.h"
#include "xfa/fxfa/parser/cxfa_document.h"
#include "xfa/fxfa/parser/cxfa_localemgr.h"
#include "xfa/fxfa/parser/xfa_utils.h"
namespace {
CFGAS_StringFormatter::Category ValueCategory(
CFGAS_StringFormatter::Category eCategory,
CXFA_LocaleValue::ValueType eValueType) { … }
bool ValueSplitDateTime(const WideString& wsDateTime,
WideString& wsDate,
WideString& wsTime) { … }
class ScopedLocale { … };
}
CXFA_LocaleValue::CXFA_LocaleValue() = default;
CXFA_LocaleValue::CXFA_LocaleValue(ValueType eType, CXFA_LocaleMgr* pLocaleMgr)
: … { … }
CXFA_LocaleValue::CXFA_LocaleValue(ValueType eType,
const WideString& wsValue,
CXFA_LocaleMgr* pLocaleMgr)
: … { … }
CXFA_LocaleValue::CXFA_LocaleValue(ValueType eType,
const WideString& wsValue,
const WideString& wsFormat,
GCedLocaleIface* pLocale,
CXFA_LocaleMgr* pLocaleMgr)
: … { … }
CXFA_LocaleValue::CXFA_LocaleValue(const CXFA_LocaleValue& that) = default;
CXFA_LocaleValue& CXFA_LocaleValue::operator=(const CXFA_LocaleValue& that) =
default;
CXFA_LocaleValue::~CXFA_LocaleValue() = default;
bool CXFA_LocaleValue::ValidateValue(const WideString& wsValue,
const WideString& wsPattern,
GCedLocaleIface* pLocale,
WideString* pMatchFormat) { … }
double CXFA_LocaleValue::GetDoubleNum() const { … }
CFX_DateTime CXFA_LocaleValue::GetDate() const { … }
CFX_DateTime CXFA_LocaleValue::GetTime() const { … }
bool CXFA_LocaleValue::SetDate(const CFX_DateTime& d) { … }
bool CXFA_LocaleValue::SetTime(const CFX_DateTime& t) { … }
bool CXFA_LocaleValue::SetDateTime(const CFX_DateTime& dt) { … }
bool CXFA_LocaleValue::FormatPatterns(WideString& wsResult,
const WideString& wsFormat,
GCedLocaleIface* pLocale,
XFA_ValuePicture eValueType) const { … }
bool CXFA_LocaleValue::FormatSinglePattern(WideString& wsResult,
const WideString& wsFormat,
GCedLocaleIface* pLocale,
XFA_ValuePicture eValueType) const { … }
bool CXFA_LocaleValue::ValidateCanonicalValue(const WideString& wsValue,
ValueType eType) { … }
bool CXFA_LocaleValue::ValidateCanonicalDate(const WideString& wsDate,
CFX_DateTime* unDate) { … }
bool CXFA_LocaleValue::ValidateCanonicalTime(const WideString& wsTime) { … }
bool CXFA_LocaleValue::ParsePatternValue(const WideString& wsValue,
const WideString& wsPattern,
GCedLocaleIface* pLocale) { … }
void CXFA_LocaleValue::GetNumericFormat(WideString& wsFormat,
int32_t nIntLen,
int32_t nDecLen) { … }
bool CXFA_LocaleValue::ValidateNumericTemp(const WideString& wsNumeric,
const WideString& wsFormat,
GCedLocaleIface* pLocale) { … }