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

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

Issue 2162503003: Cleanup fgas/crt. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Win fixes Created 4 years, 5 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_object_imp.cpp ('k') | no next file » | 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_UTILS_H_ 7 #ifndef XFA_FXFA_PARSER_XFA_UTILS_H_
8 #define XFA_FXFA_PARSER_XFA_UTILS_H_ 8 #define XFA_FXFA_PARSER_XFA_UTILS_H_
9 9
10 #include "xfa/fde/xml/fde_xml.h" 10 #include "xfa/fde/xml/fde_xml.h"
11 #include "xfa/fgas/crt/fgas_stream.h" 11 #include "xfa/fgas/crt/fgas_stream.h"
12 #include "xfa/fgas/crt/fgas_utils.h" 12 #include "xfa/fgas/crt/fgas_utils.h"
13 #include "xfa/fxfa/include/fxfa_basic.h" 13 #include "xfa/fxfa/include/fxfa_basic.h"
14 14
15 class CFDE_XMLElement; 15 class CFDE_XMLElement;
16 class CFDE_XMLNode; 16 class CFDE_XMLNode;
17 class CXFA_LocaleValue; 17 class CXFA_LocaleValue;
18 class CXFA_Node; 18 class CXFA_Node;
19 class CXFA_WidgetData; 19 class CXFA_WidgetData;
20 20
21 FX_BOOL XFA_FDEExtension_ResolveNamespaceQualifier( 21 FX_BOOL XFA_FDEExtension_ResolveNamespaceQualifier(
22 CFDE_XMLElement* pNode, 22 CFDE_XMLElement* pNode,
23 const CFX_WideStringC& wsQualifier, 23 const CFX_WideStringC& wsQualifier,
24 CFX_WideString& wsNamespaceURI); 24 CFX_WideString& wsNamespaceURI);
25 25
26 template <class NodeType, class TraverseStrategy> 26 template <class NodeType, class TraverseStrategy>
27 class CXFA_NodeIteratorTemplate { 27 class CXFA_NodeIteratorTemplate {
28 public: 28 public:
29 CXFA_NodeIteratorTemplate(NodeType* pRootNode = nullptr) 29 CXFA_NodeIteratorTemplate(NodeType* pRootNode = nullptr)
30 : m_pRoot(pRootNode) { 30 : m_pRoot(pRootNode), m_NodeStack(100) {
31 if (pRootNode) { 31 if (pRootNode) {
32 m_NodeStack.Push(pRootNode); 32 m_NodeStack.Push(pRootNode);
33 } 33 }
34 } 34 }
35 FX_BOOL Init(NodeType* pRootNode) { 35 FX_BOOL Init(NodeType* pRootNode) {
36 if (!pRootNode) { 36 if (!pRootNode) {
37 return FALSE; 37 return FALSE;
38 } 38 }
39 m_pRoot = pRootNode; 39 m_pRoot = pRootNode;
40 m_NodeStack.RemoveAll(); 40 m_NodeStack.RemoveAll(FALSE);
41 m_NodeStack.Push(pRootNode); 41 m_NodeStack.Push(pRootNode);
42 return TRUE; 42 return TRUE;
43 } 43 }
44 void Clear() { m_NodeStack.RemoveAll(); } 44 void Clear() { m_NodeStack.RemoveAll(FALSE); }
45 void Reset() { 45 void Reset() {
46 Clear(); 46 Clear();
47 if (m_pRoot) { 47 if (m_pRoot) {
48 m_NodeStack.Push(m_pRoot); 48 m_NodeStack.Push(m_pRoot);
49 } 49 }
50 } 50 }
51 FX_BOOL SetCurrent(NodeType* pCurNode) { 51 FX_BOOL SetCurrent(NodeType* pCurNode) {
52 m_NodeStack.RemoveAll(); 52 m_NodeStack.RemoveAll(FALSE);
53 if (pCurNode) { 53 if (pCurNode) {
54 CFX_StackTemplate<NodeType*> revStack; 54 CFX_StackTemplate<NodeType*> revStack(100);
55 NodeType* pNode; 55 NodeType* pNode;
56 for (pNode = pCurNode; pNode && pNode != m_pRoot; 56 for (pNode = pCurNode; pNode && pNode != m_pRoot;
57 pNode = TraverseStrategy::GetParent(pNode)) { 57 pNode = TraverseStrategy::GetParent(pNode)) {
58 revStack.Push(pNode); 58 revStack.Push(pNode);
59 } 59 }
60 if (!pNode) { 60 if (!pNode) {
61 return FALSE; 61 return FALSE;
62 } 62 }
63 revStack.Push(m_pRoot); 63 revStack.Push(m_pRoot);
64 while (revStack.GetSize()) { 64 while (revStack.GetSize()) {
(...skipping 22 matching lines...) Expand all
87 } 87 }
88 NodeType *pPrevItem = pParentFirstChildItem, *pPrevItemNext = nullptr; 88 NodeType *pPrevItem = pParentFirstChildItem, *pPrevItemNext = nullptr;
89 for (; pPrevItem; pPrevItem = pPrevItemNext) { 89 for (; pPrevItem; pPrevItem = pPrevItemNext) {
90 pPrevItemNext = TraverseStrategy::GetNextSibling(pPrevItem); 90 pPrevItemNext = TraverseStrategy::GetNextSibling(pPrevItem);
91 if (!pPrevItemNext || pPrevItemNext == pCurItem) { 91 if (!pPrevItemNext || pPrevItemNext == pCurItem) {
92 break; 92 break;
93 } 93 }
94 } 94 }
95 m_NodeStack.Push(pPrevItem); 95 m_NodeStack.Push(pPrevItem);
96 } else { 96 } else {
97 m_NodeStack.RemoveAll(); 97 m_NodeStack.RemoveAll(FALSE);
98 if (m_pRoot) { 98 if (m_pRoot) {
99 m_NodeStack.Push(m_pRoot); 99 m_NodeStack.Push(m_pRoot);
100 } 100 }
101 } 101 }
102 if (m_NodeStack.GetSize() > 0) { 102 if (m_NodeStack.GetSize() > 0) {
103 NodeType* pChildItem = *m_NodeStack.GetTopElement(); 103 NodeType* pChildItem = *m_NodeStack.GetTopElement();
104 while ((pChildItem = TraverseStrategy::GetFirstChild(pChildItem)) != 104 while ((pChildItem = TraverseStrategy::GetFirstChild(pChildItem)) !=
105 nullptr) { 105 nullptr) {
106 while (NodeType* pNextItem = 106 while (NodeType* pNextItem =
107 TraverseStrategy::GetNextSibling(pChildItem)) { 107 TraverseStrategy::GetNextSibling(pChildItem)) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 FX_BOOL XFA_FieldIsMultiListBox(CXFA_Node* pFieldNode); 172 FX_BOOL XFA_FieldIsMultiListBox(CXFA_Node* pFieldNode);
173 IFX_Stream* XFA_CreateWideTextRead(const CFX_WideString& wsBuffer); 173 IFX_Stream* XFA_CreateWideTextRead(const CFX_WideString& wsBuffer);
174 174
175 void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode); 175 void XFA_DataExporter_DealWithDataGroupNode(CXFA_Node* pDataNode);
176 void XFA_DataExporter_RegenerateFormFile(CXFA_Node* pNode, 176 void XFA_DataExporter_RegenerateFormFile(CXFA_Node* pNode,
177 IFX_Stream* pStream, 177 IFX_Stream* pStream,
178 const FX_CHAR* pChecksum = nullptr, 178 const FX_CHAR* pChecksum = nullptr,
179 FX_BOOL bSaveXML = FALSE); 179 FX_BOOL bSaveXML = FALSE);
180 180
181 #endif // XFA_FXFA_PARSER_XFA_UTILS_H_ 181 #endif // XFA_FXFA_PARSER_XFA_UTILS_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_object_imp.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698