summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_node.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-27 18:28:06 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-27 18:28:06 +0000
commitf351ba03ebf31103c0a6a0c00b1477d39c060139 (patch)
treedf924970828054a2ec8c1fa00c7546a15de106c8 /xfa/fxfa/parser/cxfa_node.cpp
parent9f0bba48c208722c8d05eaa5382254f3183c65b7 (diff)
downloadpdfium-f351ba03ebf31103c0a6a0c00b1477d39c060139.tar.xz
Add some helpers for attribute lookup
This CL adds helpers to CXFA_Node to convert from strings to attributes and from attributes to their string names. A static_assert was added to make sure the list of attributes is the same size as the attribute data so the checks can be removed. Change-Id: Idebc65021d71f604bcf498e4cf42252af00d802b Reviewed-on: https://pdfium-review.googlesource.com/19270 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_node.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_node.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp
index ccbf31048d..4402208900 100644
--- a/xfa/fxfa/parser/cxfa_node.cpp
+++ b/xfa/fxfa/parser/cxfa_node.cpp
@@ -138,6 +138,19 @@ const XFA_ATTRIBUTEENUMINFO* GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName) {
return g_XFAEnumData + eName;
}
+// static
+WideString CXFA_Node::AttributeToName(XFA_Attribute attr) {
+ return XFA_GetAttributeByID(attr)->pName;
+}
+
+// static
+XFA_Attribute CXFA_Node::NameToAttribute(const WideStringView& name) {
+ const XFA_ATTRIBUTEINFO* attr = XFA_GetAttributeByName(name);
+ if (!attr)
+ return XFA_Attribute::Unknown;
+ return attr->eName;
+}
+
CXFA_Node::CXFA_Node(CXFA_Document* pDoc,
uint16_t ePacket,
uint32_t validPackets,