Index: xfa/src/fxfa/src/parser/xfa_basic_imp.cpp |
diff --git a/xfa/src/fxfa/src/parser/xfa_basic_imp.cpp b/xfa/src/fxfa/src/parser/xfa_basic_imp.cpp |
index 3c32811bbd222809d2fd2cd83facf83c2dfc2669..3349d78561de7235cfdb21e12086cda3c727e50b 100644 |
--- a/xfa/src/fxfa/src/parser/xfa_basic_imp.cpp |
+++ b/xfa/src/fxfa/src/parser/xfa_basic_imp.cpp |
@@ -14,29 +14,10 @@ |
#include "xfa/src/fxfa/src/common/xfa_parser.h" |
#include "xfa/src/fxfa/src/common/xfa_script.h" |
#include "xfa/src/fxfa/src/common/xfa_utils.h" |
+#include "xfa/src/fxfa/src/parser/xfa_basic_data.h" |
#include "xfa/src/fxfa/src/parser/xfa_basic_imp.h" |
-extern const XFA_PACKETINFO g_XFAPacketData[]; |
-extern const int32_t g_iXFAPacketCount; |
-extern const XFA_ATTRIBUTEENUMINFO g_XFAEnumData[]; |
-extern const int32_t g_iXFAEnumCount; |
-extern const XFA_ATTRIBUTEINFO g_XFAAttributeData[]; |
-extern const int32_t g_iXFAAttributeCount; |
-extern const XFA_ELEMENTINFO g_XFAElementData[]; |
-extern const int32_t g_iXFAElementCount; |
-extern const XFA_ELEMENTHIERARCHY g_XFAElementChildrenIndex[]; |
-extern const FX_WORD g_XFAElementChildrenData[]; |
-extern const XFA_ELEMENTHIERARCHY g_XFAElementAttributeIndex[]; |
-extern const uint8_t g_XFAElementAttributeData[]; |
-extern const XFA_NOTSUREATTRIBUTE g_XFANotsureAttributes[]; |
-extern const int32_t g_iXFANotsureCount; |
-extern const XFA_ELEMENTHIERARCHY g_XFAElementPropertyIndex[]; |
-extern const XFA_PROPERTY g_XFAElementPropertyData[]; |
-extern const XFA_SCRIPTHIERARCHY g_XFAScriptIndex[]; |
-extern const XFA_METHODINFO g_SomMethodData[]; |
-extern const int32_t g_iSomMethodCount; |
-extern const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[]; |
-extern const int32_t g_iSomAttributeCount; |
-XFA_LPCPACKETINFO XFA_GetPacketByName(const CFX_WideStringC& wsName) { |
+ |
+const XFA_PACKETINFO* XFA_GetPacketByName(const CFX_WideStringC& wsName) { |
int32_t iLength = wsName.GetLength(); |
if (iLength == 0) { |
return NULL; |
@@ -45,7 +26,7 @@ XFA_LPCPACKETINFO XFA_GetPacketByName(const CFX_WideStringC& wsName) { |
int32_t iStart = 0, iEnd = g_iXFAPacketCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCPACKETINFO pInfo = g_XFAPacketData + iMid; |
+ const XFA_PACKETINFO* pInfo = g_XFAPacketData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |
@@ -56,7 +37,8 @@ XFA_LPCPACKETINFO XFA_GetPacketByName(const CFX_WideStringC& wsName) { |
} while (iStart <= iEnd); |
return NULL; |
} |
-XFA_LPCPACKETINFO XFA_GetPacketByID(FX_DWORD dwPacket) { |
+ |
+const XFA_PACKETINFO* XFA_GetPacketByID(FX_DWORD dwPacket) { |
int32_t iStart = 0, iEnd = g_iXFAPacketCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
@@ -71,7 +53,12 @@ XFA_LPCPACKETINFO XFA_GetPacketByID(FX_DWORD dwPacket) { |
} while (iStart <= iEnd); |
return NULL; |
} |
-XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByName( |
+ |
+const XFA_PACKETINFO* XFA_GetPacketByIndex(XFA_PACKET ePacket) { |
+ return g_XFAPacketData + ePacket; |
+} |
+ |
+const XFA_ATTRIBUTEENUMINFO* XFA_GetAttributeEnumByName( |
const CFX_WideStringC& wsName) { |
int32_t iLength = wsName.GetLength(); |
if (iLength == 0) { |
@@ -81,7 +68,7 @@ XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByName( |
int32_t iStart = 0, iEnd = g_iXFAEnumCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCATTRIBUTEENUMINFO pInfo = g_XFAEnumData + iMid; |
+ const XFA_ATTRIBUTEENUMINFO* pInfo = g_XFAEnumData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |
@@ -92,13 +79,13 @@ XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByName( |
} while (iStart <= iEnd); |
return NULL; |
} |
-XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName) { |
+const XFA_ATTRIBUTEENUMINFO* XFA_GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName) { |
return g_XFAEnumData + eName; |
} |
int32_t XFA_GetAttributeCount() { |
return g_iXFAAttributeCount; |
} |
-XFA_LPCATTRIBUTEINFO XFA_GetAttributeByName(const CFX_WideStringC& wsName) { |
+const XFA_ATTRIBUTEINFO* XFA_GetAttributeByName(const CFX_WideStringC& wsName) { |
int32_t iLength = wsName.GetLength(); |
if (iLength == 0) { |
return NULL; |
@@ -107,7 +94,7 @@ XFA_LPCATTRIBUTEINFO XFA_GetAttributeByName(const CFX_WideStringC& wsName) { |
int32_t iStart = 0, iEnd = g_iXFAAttributeCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCATTRIBUTEINFO pInfo = g_XFAAttributeData + iMid; |
+ const XFA_ATTRIBUTEINFO* pInfo = g_XFAAttributeData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |
@@ -118,7 +105,7 @@ XFA_LPCATTRIBUTEINFO XFA_GetAttributeByName(const CFX_WideStringC& wsName) { |
} while (iStart <= iEnd); |
return NULL; |
} |
-XFA_LPCATTRIBUTEINFO XFA_GetAttributeByID(XFA_ATTRIBUTE eName) { |
+const XFA_ATTRIBUTEINFO* XFA_GetAttributeByID(XFA_ATTRIBUTE eName) { |
return (eName < g_iXFAAttributeCount) ? (g_XFAAttributeData + eName) : NULL; |
} |
FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue, |
@@ -126,7 +113,7 @@ FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue, |
XFA_ATTRIBUTE eAttribute, |
XFA_ATTRIBUTETYPE eType, |
FX_DWORD dwPacket) { |
- XFA_LPCATTRIBUTEINFO pInfo = XFA_GetAttributeByID(eAttribute); |
+ const XFA_ATTRIBUTEINFO* pInfo = XFA_GetAttributeByID(eAttribute); |
if (pInfo == NULL) { |
return FALSE; |
} |
@@ -137,7 +124,7 @@ FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue, |
pValue = pInfo->pDefValue; |
return TRUE; |
} else if (pInfo->eType == XFA_ATTRIBUTETYPE_NOTSURE) { |
- XFA_LPCNOTSUREATTRIBUTE pAttr = |
+ const XFA_NOTSUREATTRIBUTE* pAttr = |
XFA_GetNotsureAttribute(eElement, eAttribute, eType); |
if (pAttr) { |
pValue = pAttr->pValue; |
@@ -199,7 +186,7 @@ CXFA_Measurement XFA_GetAttributeDefaultValue_Measure(XFA_ELEMENT eElement, |
int32_t XFA_GetElementCount() { |
return g_iXFAElementCount; |
} |
-XFA_LPCELEMENTINFO XFA_GetElementByName(const CFX_WideStringC& wsName) { |
+const XFA_ELEMENTINFO* XFA_GetElementByName(const CFX_WideStringC& wsName) { |
int32_t iLength = wsName.GetLength(); |
if (iLength == 0) { |
return NULL; |
@@ -208,7 +195,7 @@ XFA_LPCELEMENTINFO XFA_GetElementByName(const CFX_WideStringC& wsName) { |
int32_t iStart = 0, iEnd = g_iXFAElementCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCELEMENTINFO pInfo = g_XFAElementData + iMid; |
+ const XFA_ELEMENTINFO* pInfo = g_XFAElementData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |
@@ -219,14 +206,14 @@ XFA_LPCELEMENTINFO XFA_GetElementByName(const CFX_WideStringC& wsName) { |
} while (iStart <= iEnd); |
return NULL; |
} |
-XFA_LPCELEMENTINFO XFA_GetElementByID(XFA_ELEMENT eName) { |
+const XFA_ELEMENTINFO* XFA_GetElementByID(XFA_ELEMENT eName) { |
return (eName < g_iXFAElementCount) ? (g_XFAElementData + eName) : NULL; |
} |
const FX_WORD* XFA_GetElementChildren(XFA_ELEMENT eElement, int32_t& iCount) { |
if (eElement >= g_iXFAElementCount) { |
return NULL; |
} |
- XFA_LPCELEMENTHIERARCHY pElement = g_XFAElementChildrenIndex + eElement; |
+ const XFA_ELEMENTHIERARCHY* pElement = g_XFAElementChildrenIndex + eElement; |
iCount = pElement->wCount; |
return g_XFAElementChildrenData + pElement->wStart; |
} |
@@ -234,13 +221,13 @@ const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount) { |
if (eElement >= g_iXFAElementCount) { |
return NULL; |
} |
- XFA_LPCELEMENTHIERARCHY pElement = g_XFAElementAttributeIndex + eElement; |
+ const XFA_ELEMENTHIERARCHY* pElement = g_XFAElementAttributeIndex + eElement; |
iCount = pElement->wCount; |
return g_XFAElementAttributeData + pElement->wStart; |
} |
-XFA_LPCATTRIBUTEINFO XFA_GetAttributeOfElement(XFA_ELEMENT eElement, |
- XFA_ATTRIBUTE eAttribute, |
- FX_DWORD dwPacket) { |
+const XFA_ATTRIBUTEINFO* XFA_GetAttributeOfElement(XFA_ELEMENT eElement, |
+ XFA_ATTRIBUTE eAttribute, |
+ FX_DWORD dwPacket) { |
int32_t iCount = 0; |
const uint8_t* pAttr = XFA_GetElementAttributes(eElement, iCount); |
if (pAttr == NULL || iCount < 1) { |
@@ -251,16 +238,16 @@ XFA_LPCATTRIBUTEINFO XFA_GetAttributeOfElement(XFA_ELEMENT eElement, |
if (index < 0) { |
return NULL; |
} |
- XFA_LPCATTRIBUTEINFO pInfo = XFA_GetAttributeByID(eAttribute); |
+ const XFA_ATTRIBUTEINFO* pInfo = XFA_GetAttributeByID(eAttribute); |
ASSERT(pInfo != NULL); |
if (dwPacket == XFA_XDPPACKET_UNKNOWN) { |
return pInfo; |
} |
return (dwPacket & pInfo->dwPackets) ? pInfo : NULL; |
} |
-XFA_LPCELEMENTINFO XFA_GetChildOfElement(XFA_ELEMENT eElement, |
- XFA_ELEMENT eChild, |
- FX_DWORD dwPacket) { |
+const XFA_ELEMENTINFO* XFA_GetChildOfElement(XFA_ELEMENT eElement, |
+ XFA_ELEMENT eChild, |
+ FX_DWORD dwPacket) { |
int32_t iCount = 0; |
const FX_WORD* pChild = XFA_GetElementChildren(eElement, iCount); |
if (pChild == NULL || iCount < 1) { |
@@ -271,27 +258,27 @@ XFA_LPCELEMENTINFO XFA_GetChildOfElement(XFA_ELEMENT eElement, |
if (index < 0) { |
return NULL; |
} |
- XFA_LPCELEMENTINFO pInfo = XFA_GetElementByID(eChild); |
+ const XFA_ELEMENTINFO* pInfo = XFA_GetElementByID(eChild); |
ASSERT(pInfo != NULL); |
if (dwPacket == XFA_XDPPACKET_UNKNOWN) { |
return pInfo; |
} |
return (dwPacket & pInfo->dwPackets) ? pInfo : NULL; |
} |
-XFA_LPCPROPERTY XFA_GetElementProperties(XFA_ELEMENT eElement, |
- int32_t& iCount) { |
+const XFA_PROPERTY* XFA_GetElementProperties(XFA_ELEMENT eElement, |
+ int32_t& iCount) { |
if (eElement >= g_iXFAElementCount) { |
return NULL; |
} |
- XFA_LPCELEMENTHIERARCHY pElement = g_XFAElementPropertyIndex + eElement; |
+ const XFA_ELEMENTHIERARCHY* pElement = g_XFAElementPropertyIndex + eElement; |
iCount = pElement->wCount; |
return g_XFAElementPropertyData + pElement->wStart; |
} |
-XFA_LPCPROPERTY XFA_GetPropertyOfElement(XFA_ELEMENT eElement, |
- XFA_ELEMENT eProperty, |
- FX_DWORD dwPacket) { |
+const XFA_PROPERTY* XFA_GetPropertyOfElement(XFA_ELEMENT eElement, |
+ XFA_ELEMENT eProperty, |
+ FX_DWORD dwPacket) { |
int32_t iCount = 0; |
- XFA_LPCPROPERTY pProperty = XFA_GetElementProperties(eElement, iCount); |
+ const XFA_PROPERTY* pProperty = XFA_GetElementProperties(eElement, iCount); |
if (pProperty == NULL || iCount < 1) { |
return NULL; |
} |
@@ -310,20 +297,20 @@ XFA_LPCPROPERTY XFA_GetPropertyOfElement(XFA_ELEMENT eElement, |
if (iStart > iEnd) { |
return NULL; |
} |
- XFA_LPCELEMENTINFO pInfo = XFA_GetElementByID(eProperty); |
+ const XFA_ELEMENTINFO* pInfo = XFA_GetElementByID(eProperty); |
ASSERT(pInfo != NULL); |
if (dwPacket == XFA_XDPPACKET_UNKNOWN) { |
return pProperty + iMid; |
} |
return (dwPacket & pInfo->dwPackets) ? (pProperty + iMid) : NULL; |
} |
-XFA_LPCNOTSUREATTRIBUTE XFA_GetNotsureAttribute(XFA_ELEMENT eElement, |
- XFA_ATTRIBUTE eAttribute, |
- XFA_ATTRIBUTETYPE eType) { |
+const XFA_NOTSUREATTRIBUTE* XFA_GetNotsureAttribute(XFA_ELEMENT eElement, |
+ XFA_ATTRIBUTE eAttribute, |
+ XFA_ATTRIBUTETYPE eType) { |
int32_t iStart = 0, iEnd = g_iXFANotsureCount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCNOTSUREATTRIBUTE pAttr = g_XFANotsureAttributes + iMid; |
+ const XFA_NOTSUREATTRIBUTE* pAttr = g_XFANotsureAttributes + iMid; |
if (eElement == pAttr->eElement) { |
if (pAttr->eAttribute == eAttribute) { |
if (eType == XFA_ATTRIBUTETYPE_NOTSURE || eType == pAttr->eType) { |
@@ -378,8 +365,8 @@ XFA_LPCNOTSUREATTRIBUTE XFA_GetNotsureAttribute(XFA_ELEMENT eElement, |
int32_t XFA_GetMethodCount() { |
return g_iSomMethodCount; |
} |
-XFA_LPCMETHODINFO XFA_GetMethodByName(XFA_ELEMENT eElement, |
- const CFX_WideStringC& wsMethodName) { |
+const XFA_METHODINFO* XFA_GetMethodByName(XFA_ELEMENT eElement, |
+ const CFX_WideStringC& wsMethodName) { |
int32_t iLength = wsMethodName.GetLength(); |
if (iLength == 0) { |
return NULL; |
@@ -396,7 +383,7 @@ XFA_LPCMETHODINFO XFA_GetMethodByName(XFA_ELEMENT eElement, |
int32_t iStart = scriptIndex->wMethodStart, iEnd = iStart + icount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCMETHODINFO pInfo = g_SomMethodData + iMid; |
+ const XFA_METHODINFO* pInfo = g_SomMethodData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |
@@ -409,7 +396,7 @@ XFA_LPCMETHODINFO XFA_GetMethodByName(XFA_ELEMENT eElement, |
} |
return NULL; |
} |
-XFA_LPCSCRIPTATTRIBUTEINFO XFA_GetScriptAttributeByName( |
+const XFA_SCRIPTATTRIBUTEINFO* XFA_GetScriptAttributeByName( |
XFA_ELEMENT eElement, |
const CFX_WideStringC& wsAttributeName) { |
int32_t iLength = wsAttributeName.GetLength(); |
@@ -428,7 +415,7 @@ XFA_LPCSCRIPTATTRIBUTEINFO XFA_GetScriptAttributeByName( |
int32_t iStart = scriptIndex->wAttributeStart, iEnd = iStart + icount - 1; |
do { |
int32_t iMid = (iStart + iEnd) / 2; |
- XFA_LPCSCRIPTATTRIBUTEINFO pInfo = g_SomAttributeData + iMid; |
+ const XFA_SCRIPTATTRIBUTEINFO* pInfo = g_SomAttributeData + iMid; |
if (uHash == pInfo->uHash) { |
return pInfo; |
} else if (uHash < pInfo->uHash) { |