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

Side by Side Diff: core/include/fxcrt/fx_xml.h

Issue 372473003: Remove custom memory manager (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Change malloc to calloc Created 6 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 | « core/include/fxcrt/fx_string.h ('k') | core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.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 _FX_XML_H_ 7 #ifndef _FX_XML_H_
8 #define _FX_XML_H_ 8 #define _FX_XML_H_
9 #ifndef _FX_BASIC_H_ 9 #ifndef _FX_BASIC_H_
10 #include "fx_basic.h" 10 #include "fx_basic.h"
11 #endif 11 #endif
12 class CXML_AttrItem : public CFX_Object 12 class CXML_AttrItem : public CFX_Object
13 { 13 {
14 public: 14 public:
15 CFX_ByteStringL» m_QSpaceName; 15 CFX_ByteString» m_QSpaceName;
16 CFX_ByteStringL» m_AttrName; 16 CFX_ByteString» m_AttrName;
17 CFX_WideStringL» m_Value; 17 CFX_WideString» m_Value;
18
19 void» Empty(IFX_Allocator* pAllocator = NULL)
20 {
21 m_QSpaceName.Empty(pAllocator);
22 m_AttrName.Empty(pAllocator);
23 m_Value.Empty(pAllocator);
24 }
25 }; 18 };
26 class CXML_AttrMap : public CFX_Object 19 class CXML_AttrMap : public CFX_Object
27 { 20 {
28 public: 21 public:
29 CXML_AttrMap() 22 CXML_AttrMap()
30 { 23 {
31 m_pMap = NULL; 24 m_pMap = NULL;
32 } 25 }
33 ~CXML_AttrMap() 26 ~CXML_AttrMap()
34 { 27 {
35 RemoveAll(NULL); 28 RemoveAll();
36 } 29 }
37 const CFX_WideStringL*» Lookup(FX_BSTR space, FX_BSTR name) const; 30 const CFX_WideString*» Lookup(FX_BSTR space, FX_BSTR name) const;
38 void» » » » » SetAt(FX_BSTR space, FX_BSTR nam e, FX_WSTR value, IFX_Allocator* pAllocator = NULL); 31 void» » » » » SetAt(FX_BSTR space, FX_BSTR nam e, FX_WSTR value);
39 void» » » » » RemoveAt(FX_BSTR space, FX_BSTR name, IFX_Allocator* pAllocator = NULL); 32 void» » » » » RemoveAt(FX_BSTR space, FX_BSTR name);
40 void» » » » » RemoveAll(IFX_Allocator* pAlloca tor = NULL); 33 void» » » » » RemoveAll();
41 int GetSize() const; 34 int GetSize() const;
42 CXML_AttrItem& GetAt(int index) const; 35 CXML_AttrItem& GetAt(int index) const;
43 CFX_ObjectArray<CXML_AttrItem>* m_pMap; 36 CFX_ObjectArray<CXML_AttrItem>* m_pMap;
44 }; 37 };
45 class CXML_Content : public CFX_Object 38 class CXML_Content : public CFX_Object
46 { 39 {
47 public: 40 public:
48 CXML_Content() : m_bCDATA(FALSE), m_Content() {} 41 CXML_Content() : m_bCDATA(FALSE), m_Content() {}
49 ~CXML_Content() 42 void» Set(FX_BOOL bCDATA, FX_WSTR content)
50 {
51 Empty(NULL);
52 }
53 void» Empty(IFX_Allocator* pAllocator = NULL)
54 {
55 m_Content.Empty(pAllocator);
56 }
57 void» Set(FX_BOOL bCDATA, FX_WSTR content, IFX_Allocator* pAllocator = NULL)
58 { 43 {
59 m_bCDATA = bCDATA; 44 m_bCDATA = bCDATA;
60 m_Content.Set(content, pAllocator); 45 m_Content = content;
61 } 46 }
62 FX_BOOL m_bCDATA; 47 FX_BOOL m_bCDATA;
63 CFX_WideStringL» m_Content; 48 CFX_WideString» m_Content;
64 }; 49 };
65 class CXML_Element : public CFX_Object 50 class CXML_Element : public CFX_Object
66 { 51 {
67 public: 52 public:
68 53 static CXML_Element*» Parse(const void* pBuffer, size_t size, FX_BOOL bSaveSpaceChars = FALSE, FX_FILESIZE* pParsedSize = NULL);
69 static CXML_Element*» Parse(const void* pBuffer, size_t size, FX_BOOL bSaveSpaceChars = FALSE, FX_FILESIZE* pParsedSize = NULL, IFX_Allocator* pAlloca tor = NULL); 54 static CXML_Element*» Parse(IFX_FileRead *pFile, FX_BOOL bSaveSpaceCha rs = FALSE, FX_FILESIZE* pParsedSize = NULL);
70 55 static CXML_Element*» Parse(IFX_BufferRead *pBuffer, FX_BOOL bSaveSpac eChars = FALSE, FX_FILESIZE* pParsedSize = NULL);
71 static CXML_Element*» Parse(IFX_FileRead *pFile, FX_BOOL bSaveSpaceCha rs = FALSE, FX_FILESIZE* pParsedSize = NULL, IFX_Allocator* pAllocator = NULL); 56 CXML_Element(FX_BSTR qSpace, FX_BSTR tagName);
72 57 CXML_Element(FX_BSTR qTagName);
73 static CXML_Element*» Parse(IFX_BufferRead *pBuffer, FX_BOOL bSaveSpac eChars = FALSE, FX_FILESIZE* pParsedSize = NULL, IFX_Allocator* pAllocator = NUL L); 58 CXML_Element();
74
75 CXML_Element(FX_BSTR qSpace, FX_BSTR tagName, IFX_Allocator* pAllocator = NU LL);
76
77 CXML_Element(FX_BSTR qTagName, IFX_Allocator* pAllocator = NULL);
78
79 CXML_Element(IFX_Allocator* pAllocator = NULL);
80 59
81 ~CXML_Element(); 60 ~CXML_Element();
82 61
83 void Empty(); 62 void Empty();
84 63
85 64
86 65
87 CFX_ByteString GetTagName(FX_BOOL bQualified = FALSE) c onst; 66 CFX_ByteString GetTagName(FX_BOOL bQualified = FALSE) c onst;
88 void GetTagName(CFX_ByteStringL &tagN ame, FX_BOOL bQualified = FALSE) const;
89 67
90 CFX_ByteString GetNamespace(FX_BOOL bQualified = FALSE) const; 68 CFX_ByteString GetNamespace(FX_BOOL bQualified = FALSE) const;
91 void GetNamespace(CFX_ByteStringL &na meSpace, FX_BOOL bQualified = FALSE) const;
92 69
93 CFX_ByteString GetNamespaceURI(FX_BSTR qName) const; 70 CFX_ByteString GetNamespaceURI(FX_BSTR qName) const;
94 void GetNamespaceURI(FX_BSTR qName, C FX_ByteStringL &uri) const;
95 71
96 CXML_Element* GetParent() const 72 CXML_Element* GetParent() const
97 { 73 {
98 return m_pParent; 74 return m_pParent;
99 } 75 }
100 76
101 FX_DWORD CountAttrs() const 77 FX_DWORD CountAttrs() const
102 { 78 {
103 return m_AttrMap.GetSize(); 79 return m_AttrMap.GetSize();
104 } 80 }
105 81
106 void GetAttrByIndex(int index, CFX_By teString &space, CFX_ByteString &name, CFX_WideString &value) const; 82 void GetAttrByIndex(int index, CFX_By teString &space, CFX_ByteString &name, CFX_WideString &value) const;
107 void GetAttrByIndex(int index, CFX_By teStringL &space, CFX_ByteStringL &name, CFX_WideStringL &value) const;
108 83
109 FX_BOOL HasAttr(FX_BSTR qName) const; 84 FX_BOOL HasAttr(FX_BSTR qName) const;
110 85
111 FX_BOOL GetAttrValue(FX_BSTR name, CFX_W ideString& attribute) const; 86 FX_BOOL GetAttrValue(FX_BSTR name, CFX_W ideString& attribute) const;
112 CFX_WideString GetAttrValue(FX_BSTR name) const 87 CFX_WideString GetAttrValue(FX_BSTR name) const
113 { 88 {
114 CFX_WideString attr; 89 CFX_WideString attr;
115 GetAttrValue(name, attr); 90 GetAttrValue(name, attr);
116 return attr; 91 return attr;
117 } 92 }
118 const CFX_WideStringL* GetAttrValuePtr(FX_BSTR name) const;
119 93
120 FX_BOOL GetAttrValue(FX_BSTR space, FX_B STR name, CFX_WideString& attribute) const; 94 FX_BOOL GetAttrValue(FX_BSTR space, FX_B STR name, CFX_WideString& attribute) const;
121 CFX_WideString GetAttrValue(FX_BSTR space, FX_BSTR name ) const 95 CFX_WideString GetAttrValue(FX_BSTR space, FX_BSTR name ) const
122 { 96 {
123 CFX_WideString attr; 97 CFX_WideString attr;
124 GetAttrValue(space, name, attr); 98 GetAttrValue(space, name, attr);
125 return attr; 99 return attr;
126 } 100 }
127 const CFX_WideStringL* GetAttrValuePtr(FX_BSTR space, FX_BSTR name) con st;
128 101
129 FX_BOOL GetAttrInteger(FX_BSTR name, int & attribute) const; 102 FX_BOOL GetAttrInteger(FX_BSTR name, int & attribute) const;
130 int GetAttrInteger(FX_BSTR name) con st 103 int GetAttrInteger(FX_BSTR name) con st
131 { 104 {
132 int attr = 0; 105 int attr = 0;
133 GetAttrInteger(name, attr); 106 GetAttrInteger(name, attr);
134 return attr; 107 return attr;
135 } 108 }
136 109
137 FX_BOOL GetAttrInteger(FX_BSTR space, FX _BSTR name, int& attribute) const; 110 FX_BOOL GetAttrInteger(FX_BSTR space, FX _BSTR name, int& attribute) const;
(...skipping 20 matching lines...) Expand all
158 return attr; 131 return attr;
159 } 132 }
160 133
161 FX_DWORD CountChildren() const; 134 FX_DWORD CountChildren() const;
162 135
163 enum ChildType { Invalid, Element, Content}; 136 enum ChildType { Invalid, Element, Content};
164 137
165 ChildType GetChildType(FX_DWORD index) const; 138 ChildType GetChildType(FX_DWORD index) const;
166 139
167 CFX_WideString GetContent(FX_DWORD index) const; 140 CFX_WideString GetContent(FX_DWORD index) const;
168 const CFX_WideStringL* GetContentPtr(FX_DWORD index) const;
169 141
170 CXML_Element* GetElement(FX_DWORD index) const; 142 CXML_Element* GetElement(FX_DWORD index) const;
171 143
172 CXML_Element* GetElement(FX_BSTR space, FX_BSTR tag) c onst 144 CXML_Element* GetElement(FX_BSTR space, FX_BSTR tag) c onst
173 { 145 {
174 return GetElement(space, tag, 0); 146 return GetElement(space, tag, 0);
175 } 147 }
176 148
177 FX_DWORD CountElements(FX_BSTR space, FX_BSTR tag ) const; 149 FX_DWORD CountElements(FX_BSTR space, FX_BSTR tag ) const;
178 150
179 CXML_Element* GetElement(FX_BSTR space, FX_BSTR tag, i nt index) const; 151 CXML_Element* GetElement(FX_BSTR space, FX_BSTR tag, i nt index) const;
180 152
181 FX_DWORD FindElement(CXML_Element *pChild) const; 153 FX_DWORD FindElement(CXML_Element *pChild) const;
182 154
183 155
184 156
185 157
186 void SetTag(FX_BSTR qSpace, FX_BSTR t agname); 158 void SetTag(FX_BSTR qSpace, FX_BSTR t agname);
187 159
188 void SetTag(FX_BSTR qTagName); 160 void SetTag(FX_BSTR qTagName);
189 161
190 void RemoveChildren(); 162 void RemoveChildren();
191 163
192 void RemoveChild(FX_DWORD index); 164 void RemoveChild(FX_DWORD index);
193 165
194 166
195 protected: 167 protected:
196 168
197 CXML_Element* m_pParent; 169 CXML_Element* m_pParent;
198 170 CFX_ByteString» » » m_QSpaceName;
199 CFX_ByteStringL» » » m_QSpaceName; 171 CFX_ByteString» » » m_TagName;
200
201 CFX_ByteStringL» » » m_TagName;
202 172
203 CXML_AttrMap m_AttrMap; 173 CXML_AttrMap m_AttrMap;
204 174
205 CFX_PtrArray m_Children; 175 CFX_PtrArray m_Children;
206 friend class CXML_Parser; 176 friend class CXML_Parser;
207 friend class CXML_Composer; 177 friend class CXML_Composer;
208 }; 178 };
209 #endif 179 #endif
OLDNEW
« no previous file with comments | « core/include/fxcrt/fx_string.h ('k') | core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698