Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1016)

Side by Side Diff: xfa/fxfa/parser/xfa_object.h

Issue 2082343003: Remove CXFA_OrdinaryObject class (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa_part_II
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fxfa/parser/xfa_basic_data.cpp ('k') | xfa/fxfa/parser/xfa_object_imp.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_FXFA_PARSER_XFA_OBJECT_H_ 7 #ifndef XFA_FXFA_PARSER_XFA_OBJECT_H_
8 #define XFA_FXFA_PARSER_XFA_OBJECT_H_ 8 #define XFA_FXFA_PARSER_XFA_OBJECT_H_
9 9
10 #include <unordered_set> 10 #include <unordered_set>
11 11
12 #include "fxjse/include/cfxjse_arguments.h" 12 #include "fxjse/include/cfxjse_arguments.h"
13 #include "xfa/fde/xml/fde_xml.h" 13 #include "xfa/fde/xml/fde_xml.h"
14 #include "xfa/fxfa/parser/xfa_utils.h" 14 #include "xfa/fxfa/parser/xfa_utils.h"
15 15
16 class CXFA_Document; 16 class CXFA_Document;
17 class CXFA_Node; 17 class CXFA_Node;
18 class CXFA_NodeList; 18 class CXFA_NodeList;
19 class CXFA_OrdinaryObject;
20 19
21 enum class XFA_ObjectType { 20 enum class XFA_ObjectType {
22 OrdinaryObject, 21 Object,
23 OrdinaryList, 22 OrdinaryList,
24 NodeList, 23 NodeList,
25 Node, 24 Node,
26 NodeC, 25 NodeC,
27 NodeV, 26 NodeV,
28 ModelNode, 27 ModelNode,
29 TextNode, 28 TextNode,
30 ContainerNode, 29 ContainerNode,
31 ContentNode, 30 ContentNode,
32 VariablesThis 31 VariablesThis
(...skipping 25 matching lines...) Expand all
58 bool IsNode() const { 57 bool IsNode() const {
59 return m_objectType == XFA_ObjectType::Node || 58 return m_objectType == XFA_ObjectType::Node ||
60 m_objectType == XFA_ObjectType::NodeC || 59 m_objectType == XFA_ObjectType::NodeC ||
61 m_objectType == XFA_ObjectType::NodeV || 60 m_objectType == XFA_ObjectType::NodeV ||
62 m_objectType == XFA_ObjectType::ModelNode || 61 m_objectType == XFA_ObjectType::ModelNode ||
63 m_objectType == XFA_ObjectType::TextNode || 62 m_objectType == XFA_ObjectType::TextNode ||
64 m_objectType == XFA_ObjectType::ContainerNode || 63 m_objectType == XFA_ObjectType::ContainerNode ||
65 m_objectType == XFA_ObjectType::ContentNode || 64 m_objectType == XFA_ObjectType::ContentNode ||
66 m_objectType == XFA_ObjectType::VariablesThis; 65 m_objectType == XFA_ObjectType::VariablesThis;
67 } 66 }
68 bool IsOrdinaryObject() const {
69 return m_objectType == XFA_ObjectType::OrdinaryObject;
70 }
71 bool IsNodeList() const { return m_objectType == XFA_ObjectType::NodeList; } 67 bool IsNodeList() const { return m_objectType == XFA_ObjectType::NodeList; }
72 bool IsOrdinaryList() const { 68 bool IsOrdinaryList() const {
73 return m_objectType == XFA_ObjectType::OrdinaryList; 69 return m_objectType == XFA_ObjectType::OrdinaryList;
74 } 70 }
75 bool IsContentNode() const { 71 bool IsContentNode() const {
76 return m_objectType == XFA_ObjectType::ContentNode; 72 return m_objectType == XFA_ObjectType::ContentNode;
77 } 73 }
78 bool IsContainerNode() const { 74 bool IsContainerNode() const {
79 return m_objectType == XFA_ObjectType::ContainerNode; 75 return m_objectType == XFA_ObjectType::ContainerNode;
80 } 76 }
81 bool IsModelNode() const { return m_objectType == XFA_ObjectType::ModelNode; } 77 bool IsModelNode() const { return m_objectType == XFA_ObjectType::ModelNode; }
82 bool IsNodeV() const { return m_objectType == XFA_ObjectType::NodeV; } 78 bool IsNodeV() const { return m_objectType == XFA_ObjectType::NodeV; }
83 bool IsVariablesThis() const { 79 bool IsVariablesThis() const {
84 return m_objectType == XFA_ObjectType::VariablesThis; 80 return m_objectType == XFA_ObjectType::VariablesThis;
85 } 81 }
86 82
87 CXFA_Node* AsNode(); 83 CXFA_Node* AsNode();
88 CXFA_OrdinaryObject* AsOrdinaryObject();
89 CXFA_NodeList* AsNodeList(); 84 CXFA_NodeList* AsNodeList();
90 85
91 const CXFA_Node* AsNode() const; 86 const CXFA_Node* AsNode() const;
92 const CXFA_OrdinaryObject* AsOrdinaryObject() const;
93 const CXFA_NodeList* AsNodeList() const; 87 const CXFA_NodeList* AsNodeList() const;
94 88
95 XFA_Element GetElementType() const; 89 XFA_Element GetElementType() const;
96 void GetClassName(CFX_WideStringC& wsName) const; 90 void GetClassName(CFX_WideStringC& wsName) const;
97 uint32_t GetClassHashCode() const; 91 uint32_t GetClassHashCode() const;
98 void Script_ObjectClass_ClassName(CFXJSE_Value* pValue, 92 void Script_ObjectClass_ClassName(CFXJSE_Value* pValue,
99 FX_BOOL bSetting, 93 FX_BOOL bSetting,
100 XFA_ATTRIBUTE eAttribute); 94 XFA_ATTRIBUTE eAttribute);
101 void ThrowException(int32_t iStringID, ...); 95 void ThrowException(int32_t iStringID, ...);
102 96
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 CXFA_Node* m_pLastChild; 671 CXFA_Node* m_pLastChild;
678 CXFA_Node* m_pParent; 672 CXFA_Node* m_pParent;
679 CFDE_XMLNode* m_pXMLNode; 673 CFDE_XMLNode* m_pXMLNode;
680 uint16_t m_ePacket; 674 uint16_t m_ePacket;
681 uint16_t m_uNodeFlags; 675 uint16_t m_uNodeFlags;
682 uint32_t m_dwNameHash; 676 uint32_t m_dwNameHash;
683 CXFA_Node* m_pAuxNode; 677 CXFA_Node* m_pAuxNode;
684 XFA_MAPMODULEDATA* m_pMapModuleData; 678 XFA_MAPMODULEDATA* m_pMapModuleData;
685 }; 679 };
686 680
687 class CXFA_OrdinaryObject : public CXFA_Object {
688 public:
689 CXFA_OrdinaryObject(CXFA_Document* pDocument, XFA_Element eElement);
690 ~CXFA_OrdinaryObject() override;
691 };
692
693 class CXFA_ThisProxy : public CXFA_Object { 681 class CXFA_ThisProxy : public CXFA_Object {
694 public: 682 public:
695 CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode); 683 CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
696 ~CXFA_ThisProxy() override; 684 ~CXFA_ThisProxy() override;
697 685
698 CXFA_Node* GetThisNode() const; 686 CXFA_Node* GetThisNode() const;
699 CXFA_Node* GetScriptNode() const; 687 CXFA_Node* GetScriptNode() const;
700 688
701 private: 689 private:
702 CXFA_Node* m_pThisNode; 690 CXFA_Node* m_pThisNode;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
790 static inline CXFA_Node* GetParent(CXFA_Node* pTemplateNode) { 778 static inline CXFA_Node* GetParent(CXFA_Node* pTemplateNode) {
791 return pTemplateNode->GetNodeItem(XFA_NODEITEM_Parent); 779 return pTemplateNode->GetNodeItem(XFA_NODEITEM_Parent);
792 } 780 }
793 }; 781 };
794 typedef CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode> 782 typedef CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode>
795 CXFA_NodeIterator; 783 CXFA_NodeIterator;
796 784
797 inline CXFA_Node* CXFA_Object::AsNode() { 785 inline CXFA_Node* CXFA_Object::AsNode() {
798 return IsNode() ? static_cast<CXFA_Node*>(this) : nullptr; 786 return IsNode() ? static_cast<CXFA_Node*>(this) : nullptr;
799 } 787 }
800 inline CXFA_OrdinaryObject* CXFA_Object::AsOrdinaryObject() { 788
801 return IsOrdinaryObject() ? static_cast<CXFA_OrdinaryObject*>(this) : nullptr;
802 }
803 inline CXFA_NodeList* CXFA_Object::AsNodeList() { 789 inline CXFA_NodeList* CXFA_Object::AsNodeList() {
804 return IsNodeList() ? static_cast<CXFA_NodeList*>(this) : nullptr; 790 return IsNodeList() ? static_cast<CXFA_NodeList*>(this) : nullptr;
805 } 791 }
806 792
807 inline const CXFA_Node* CXFA_Object::AsNode() const { 793 inline const CXFA_Node* CXFA_Object::AsNode() const {
808 return IsNode() ? static_cast<const CXFA_Node*>(this) : nullptr; 794 return IsNode() ? static_cast<const CXFA_Node*>(this) : nullptr;
809 } 795 }
810 inline const CXFA_OrdinaryObject* CXFA_Object::AsOrdinaryObject() const { 796
811 return IsOrdinaryObject() ? static_cast<const CXFA_OrdinaryObject*>(this)
812 : nullptr;
813 }
814 inline const CXFA_NodeList* CXFA_Object::AsNodeList() const { 797 inline const CXFA_NodeList* CXFA_Object::AsNodeList() const {
815 return IsNodeList() ? static_cast<const CXFA_NodeList*>(this) : nullptr; 798 return IsNodeList() ? static_cast<const CXFA_NodeList*>(this) : nullptr;
816 } 799 }
817 800
818 inline CXFA_Node* ToNode(CXFA_Object* pObj) { 801 inline CXFA_Node* ToNode(CXFA_Object* pObj) {
819 return pObj ? pObj->AsNode() : nullptr; 802 return pObj ? pObj->AsNode() : nullptr;
820 } 803 }
821 804
822 inline const CXFA_Node* ToNode(const CXFA_Object* pObj) { 805 inline const CXFA_Node* ToNode(const CXFA_Object* pObj) {
823 return pObj ? pObj->AsNode() : nullptr; 806 return pObj ? pObj->AsNode() : nullptr;
824 } 807 }
825 808
826 #endif // XFA_FXFA_PARSER_XFA_OBJECT_H_ 809 #endif // XFA_FXFA_PARSER_XFA_OBJECT_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_basic_data.cpp ('k') | xfa/fxfa/parser/xfa_object_imp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698