Merge to XFA: Remove FX_BSTR and FX_WSTR typedefs.
[pdfium.git] / xfa / src / fxfa / src / fm2js / xfa_fm2jscontext.h
index 466050d..f0ac120 100644 (file)
 class CXFA_FM2JSContext\r
 {\r
 public:\r
-    static void Abs            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Avg            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Ceil   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Count  (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Floor  (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Max            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Min            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Mod            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Round  (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Sum            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Date                   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Date2Num               (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void DateFmt                        (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void IsoDate2Num            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void IsoTime2Num            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void LocalDateFmt   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void LocalTimeFmt   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Num2Date               (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Num2GMTime             (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Num2Time               (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Time                   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Time2Num               (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void TimeFmt                        (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
+    static void Abs            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Avg            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Ceil   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Count  (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Floor  (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Max            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Min            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Mod            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Round  (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Sum            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Date                   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Date2Num               (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void DateFmt                        (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void IsoDate2Num            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void IsoTime2Num            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void LocalDateFmt   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void LocalTimeFmt   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Num2Date               (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Num2GMTime             (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Num2Time               (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Time                   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Time2Num               (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void TimeFmt                        (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
 \r
-    static FX_BOOL     IsIsoDateFormat                 (FX_LPCSTR pData, FX_INT32 iLength, FX_INT32 &iStyle, FX_INT32 &iYear, FX_INT32 &iMonth, FX_INT32 &iDay);\r
-    static FX_BOOL     IsIsoTimeFormat                 (FX_LPCSTR pData, FX_INT32 iLength, FX_INT32 &iHour, FX_INT32 &iMinute, FX_INT32 &iSecond, FX_INT32 &iMilliSecond, FX_INT32 &iZoneHour, FX_INT32 &iZoneMinute);\r
-    static FX_BOOL     IsIsoDateTimeFormat             (FX_LPCSTR pData, FX_INT32 iLength, FX_INT32 &iYear, FX_INT32 &iMonth, FX_INT32 &iDay, FX_INT32 &iHour, FX_INT32 &iMinute, FX_INT32 &iSecond, FX_INT32 &iMillionSecond, FX_INT32 &iZoneHour, FX_INT32 &iZoneMinute);\r
-    static FX_BOOL     Local2IsoDate                   (FXJSE_HOBJECT hThis, FX_BSTR szDate, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strIsoDate);\r
-    static FX_BOOL     Local2IsoTime                   (FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strIsoTime);\r
-    static FX_BOOL     IsoDate2Local                   (FXJSE_HOBJECT hThis, FX_BSTR szDate, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strLocalDate);\r
-    static FX_BOOL     IsoTime2Local                   (FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strLocalTime);\r
-    static FX_BOOL     GetGMTTime                              (FXJSE_HOBJECT hThis, FX_BSTR szTime, FX_BSTR szFormat, FX_BSTR szLocale, CFX_ByteString &strGMTTime);\r
-    static FX_INT32 DateString2Num                     (FX_BSTR szDateString);\r
-    static void                GetLocalDateFormat              (FXJSE_HOBJECT hThis, FX_INT32 iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard);\r
-    static void                GetLocalTimeFormat              (FXJSE_HOBJECT hThis, FX_INT32 iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard);\r
-    static void                GetStandardDateFormat   (FXJSE_HOBJECT hThis, FX_INT32 iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat);\r
-    static void                GetStandardTimeFormat   (FXJSE_HOBJECT hThis, FX_INT32 iStyle, FX_BSTR szLocalStr, CFX_ByteString &strFormat);\r
+    static FX_BOOL     IsIsoDateFormat                 (const FX_CHAR* pData, int32_t iLength, int32_t &iStyle, int32_t &iYear, int32_t &iMonth, int32_t &iDay);\r
+    static FX_BOOL     IsIsoTimeFormat                 (const FX_CHAR* pData, int32_t iLength, int32_t &iHour, int32_t &iMinute, int32_t &iSecond, int32_t &iMilliSecond, int32_t &iZoneHour, int32_t &iZoneMinute);\r
+    static FX_BOOL     IsIsoDateTimeFormat             (const FX_CHAR* pData, int32_t iLength, int32_t &iYear, int32_t &iMonth, int32_t &iDay, int32_t &iHour, int32_t &iMinute, int32_t &iSecond, int32_t &iMillionSecond, int32_t &iZoneHour, int32_t &iZoneMinute);\r
+    static FX_BOOL     Local2IsoDate                   (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szDate, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strIsoDate);\r
+    static FX_BOOL     Local2IsoTime                   (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strIsoTime);\r
+    static FX_BOOL     IsoDate2Local                   (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szDate, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strLocalDate);\r
+    static FX_BOOL     IsoTime2Local                   (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strLocalTime);\r
+    static FX_BOOL     GetGMTTime                              (FXJSE_HOBJECT hThis, const CFX_ByteStringC& szTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, CFX_ByteString &strGMTTime);\r
+    static int32_t DateString2Num                      (const CFX_ByteStringC& szDateString);\r
+    static void                GetLocalDateFormat              (FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard);\r
+    static void                GetLocalTimeFormat              (FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat, FX_BOOL bStandard);\r
+    static void                GetStandardDateFormat   (FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat);\r
+    static void                GetStandardTimeFormat   (FXJSE_HOBJECT hThis, int32_t iStyle, const CFX_ByteStringC& szLocalStr, CFX_ByteString &strFormat);\r
 \r
-    static void                Num2AllTime                             (FXJSE_HOBJECT hThis, FX_INT32 iTime, FX_BSTR szFormat, FX_BSTR szLocale, FX_BOOL bGM, CFX_ByteString &strTime);\r
-    static void                GetLocalTimeZone                (FX_INT32 &iHour, FX_INT32 &iMin, FX_INT32 &iSec);\r
+    static void                Num2AllTime                             (FXJSE_HOBJECT hThis, int32_t iTime, const CFX_ByteStringC& szFormat, const CFX_ByteStringC& szLocale, FX_BOOL bGM, CFX_ByteString &strTime);\r
+    static void                GetLocalTimeZone                (int32_t &iHour, int32_t &iMin, int32_t &iSec);\r
 \r
-    static void Apr            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void CTerm  (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void FV             (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void IPmt   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void NPV            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Pmt            (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void PPmt   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void PV             (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Rate   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Term   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Choose         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Exists         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void HasValue       (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Oneof          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Within         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void If                     (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Eval           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Ref                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void UnitType       (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void UnitValue      (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
+    static void Apr            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void CTerm  (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void FV             (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void IPmt   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void NPV            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Pmt            (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void PPmt   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void PV             (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Rate   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Term   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Choose         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Exists         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void HasValue       (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Oneof          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Within         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void If                     (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Eval           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Ref                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void UnitType       (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void UnitValue      (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
 \r
-    static void At                     (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Concat         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Decode         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void DecodeURL      (FX_BSTR szURLString,  CFX_ByteTextBuf &szResultBuf);\r
-    static void DecodeHTML     (FX_BSTR szHTMLString, CFX_ByteTextBuf &szResultBuf);\r
-    static void DecodeXML      (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResultBuf);\r
-    static void Encode         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void EncodeURL      (FX_BSTR szURLString,  CFX_ByteTextBuf &szResultBuf);\r
-    static void EncodeHTML     (FX_BSTR szHTMLString, CFX_ByteTextBuf &szResultBuf);\r
-    static void EncodeXML      (FX_BSTR szXMLString,  CFX_ByteTextBuf &szResultBuf);\r
-    static FX_BOOL HTMLSTR2Code        (FX_WSTR pData, FX_UINT32 &iCode);\r
-    static FX_BOOL HTMLCode2STR        (FX_UINT32 iCode,         CFX_WideString &wsHTMLReserve);\r
-    static void Format         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Left           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Len                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Lower          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Ltrim          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Parse          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Replace                (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Right          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Rtrim          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Space          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Str                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Stuff          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Substr         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Uuid           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Upper          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void WordNum                (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void TrillionUS     (FX_BSTR szData, CFX_ByteTextBuf &strBuf);\r
-    static void WordUS         (FX_BSTR szData, FX_INT32 iStyle, CFX_ByteTextBuf &strBuf);\r
+    static void At                     (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Concat         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Decode         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void DecodeURL      (const CFX_ByteStringC& szURLString,  CFX_ByteTextBuf &szResultBuf);\r
+    static void DecodeHTML     (const CFX_ByteStringC& szHTMLString, CFX_ByteTextBuf &szResultBuf);\r
+    static void DecodeXML      (const CFX_ByteStringC& szXMLString,  CFX_ByteTextBuf &szResultBuf);\r
+    static void Encode         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void EncodeURL      (const CFX_ByteStringC& szURLString,  CFX_ByteTextBuf &szResultBuf);\r
+    static void EncodeHTML     (const CFX_ByteStringC& szHTMLString, CFX_ByteTextBuf &szResultBuf);\r
+    static void EncodeXML      (const CFX_ByteStringC& szXMLString,  CFX_ByteTextBuf &szResultBuf);\r
+    static FX_BOOL HTMLSTR2Code        (const CFX_WideStringC& pData, uint32_t &iCode);\r
+    static FX_BOOL HTMLCode2STR        (uint32_t iCode,          CFX_WideString &wsHTMLReserve);\r
+    static void Format         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Left           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Len                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Lower          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Ltrim          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Parse          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Replace                (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Right          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Rtrim          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Space          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Str                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Stuff          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Substr         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Uuid           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Upper          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void WordNum                (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void TrillionUS     (const CFX_ByteStringC& szData, CFX_ByteTextBuf &strBuf);\r
+    static void WordUS         (const CFX_ByteStringC& szData, int32_t iStyle, CFX_ByteTextBuf &strBuf);\r
 \r
-    static void Get                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Post           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void Put                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void assign_value_operator          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void logical_or_operator                    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void logical_and_operator           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void equality_operator                      (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void notequality_operator           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
+    static void Get                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Post           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void Put                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void assign_value_operator          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void logical_or_operator                    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void logical_and_operator           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void equality_operator                      (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void notequality_operator           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
     static FX_BOOL fm_ref_equal                                (FXJSE_HOBJECT hThis, CFXJSE_Arguments &args);\r
-    static void less_operator                          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void lessequal_operator                     (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void greater_operator                       (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void greaterequal_operator          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void plus_operator                          (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void minus_operator                         (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void multiple_operator                      (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void divide_operator                                (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void positive_operator                      (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void negative_operator                      (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void logical_not_operator           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void dot_accessor                           (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void dotdot_accessor                                (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void eval_translation                       (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                is_fm_object    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                is_fm_array             (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                get_fm_value    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                get_fm_jsobj    (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                fm_var_filter   (FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
-    static void                concat_fm_object(FXJSE_HOBJECT hThis,   FX_BSTR szFuncName, CFXJSE_Arguments &args);\r
+    static void less_operator                          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void lessequal_operator                     (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void greater_operator                       (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void greaterequal_operator          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void plus_operator                          (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void minus_operator                         (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void multiple_operator                      (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void divide_operator                                (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void positive_operator                      (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void negative_operator                      (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void logical_not_operator           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void dot_accessor                           (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void dotdot_accessor                                (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void eval_translation                       (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                is_fm_object    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                is_fm_array             (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                get_fm_value    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                get_fm_jsobj    (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                fm_var_filter   (FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
+    static void                concat_fm_object(FXJSE_HOBJECT hThis,   const CFX_ByteStringC& szFuncName, CFXJSE_Arguments &args);\r
 \r
-    static FX_INT32 hvalue_get_array_length    (FXJSE_HOBJECT hThis, FXJSE_HVALUE arg);\r
+    static int32_t hvalue_get_array_length     (FXJSE_HOBJECT hThis, FXJSE_HVALUE arg);\r
     static FX_BOOL             simpleValueCompare      (FXJSE_HOBJECT hThis, FXJSE_HVALUE firstValue, FXJSE_HVALUE secondValue);\r
-    static void                        unfoldArgs                      (FXJSE_HOBJECT hThis, CFXJSE_Arguments &args, FXJSE_HVALUE *&resultValues, FX_INT32 &iCount, FX_INT32 iStart = 0);\r
+    static void                        unfoldArgs                      (FXJSE_HOBJECT hThis, CFXJSE_Arguments &args, FXJSE_HVALUE *&resultValues, int32_t &iCount, int32_t iStart = 0);\r
     static void                        GetObjectDefaultValue(FXJSE_HVALUE hObjectValue, FXJSE_HVALUE hDefaultValue);\r
     static FX_BOOL             SetObjectDefaultValue(FXJSE_HVALUE hObjectValue, FXJSE_HVALUE hNewValue);\r
-    static void                        GenerateSomExpression(FX_BSTR szName, FX_INT32 iIndexFlags, FX_INT32 iIndexValue, FX_BOOL bIsStar, CFX_ByteString& szSomExp);\r
-    static FX_BOOL             GetObjectByName(FXJSE_HOBJECT hThis, FXJSE_HVALUE accessorValue, FX_BSTR szAccessorName);\r
-    static FX_INT32            ResolveObjects(FXJSE_HOBJECT hThis, FXJSE_HVALUE hParentValue, FX_BSTR bsSomExp, XFA_RESOLVENODE_RS &resoveNodeRS, FX_BOOL bdotAccessor = TRUE, FX_BOOL bHasNoResolveName = FALSE);\r
-    static void                        ParseResolveResult(FXJSE_HOBJECT hThis, const XFA_RESOLVENODE_RS& resoveNodeRS, FXJSE_HVALUE hParentValue, FXJSE_HVALUE *&resultValues, FX_INT32 &iSize, FX_BOOL &bAttribute);\r
+    static void                        GenerateSomExpression(const CFX_ByteStringC& szName, int32_t iIndexFlags, int32_t iIndexValue, FX_BOOL bIsStar, CFX_ByteString& szSomExp);\r
+    static FX_BOOL             GetObjectByName(FXJSE_HOBJECT hThis, FXJSE_HVALUE accessorValue, const CFX_ByteStringC& szAccessorName);\r
+    static int32_t             ResolveObjects(FXJSE_HOBJECT hThis, FXJSE_HVALUE hParentValue, const CFX_ByteStringC& bsSomExp, XFA_RESOLVENODE_RS &resoveNodeRS, FX_BOOL bdotAccessor = TRUE, FX_BOOL bHasNoResolveName = FALSE);\r
+    static void                        ParseResolveResult(FXJSE_HOBJECT hThis, const XFA_RESOLVENODE_RS& resoveNodeRS, FXJSE_HVALUE hParentValue, FXJSE_HVALUE *&resultValues, int32_t &iSize, FX_BOOL &bAttribute);\r
 \r
-    static FXJSE_HVALUE GetSimpleHValue        (FXJSE_HOBJECT hThis, CFXJSE_Arguments &args, FX_UINT32 index);\r
+    static FXJSE_HVALUE GetSimpleHValue        (FXJSE_HOBJECT hThis, CFXJSE_Arguments &args, uint32_t index);\r
     static FX_BOOL             HValueIsNull    (FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue);\r
-    static FX_INT32            HValueToInteger (FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue);\r
-    static FX_DOUBLE   StringToDouble(FX_BSTR szStringVal);\r
+    static int32_t             HValueToInteger (FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue);\r
+    static FX_DOUBLE   StringToDouble(const CFX_ByteStringC& szStringVal);\r
     static FX_FLOAT            HValueToFloat   (FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue);\r
     static FX_DOUBLE   HValueToDouble  (FXJSE_HOBJECT hThis, FXJSE_HVALUE hValue);\r
     static void                        HValueToUTF8String      (FXJSE_HVALUE hValue, CFX_ByteString& outputValue);\r
@@ -163,7 +163,7 @@ public:
     {\r
         return m_pDocument;\r
     }\r
-    void ThrowScriptErrorMessage(FX_INT32 iStringID, ...);\r
+    void ThrowScriptErrorMessage(int32_t iStringID, ...);\r
 private:\r
     FXJSE_HRUNTIME                     m_hScriptRuntime;\r
     FXJSE_CLASS                                m_fmClass;\r