diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-11-27 18:28:06 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-11-27 18:28:06 +0000 |
commit | f351ba03ebf31103c0a6a0c00b1477d39c060139 (patch) | |
tree | df924970828054a2ec8c1fa00c7546a15de106c8 /xfa/fxfa/parser/cxfa_node.cpp | |
parent | 9f0bba48c208722c8d05eaa5382254f3183c65b7 (diff) | |
download | pdfium-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.cpp | 13 |
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, |