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

Side by Side Diff: core/fxcrt/xml_int.h

Issue 2451493002: Refcount all the IFX_ stream classes all the time. (Closed)
Patch Set: Clean up cast expression Created 4 years 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/fxcrt/fx_xml_parser.cpp ('k') | core/fxge/android/cfpf_skiafilefont.h » ('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 CORE_FXCRT_XML_INT_H_ 7 #ifndef CORE_FXCRT_XML_INT_H_
8 #define CORE_FXCRT_XML_INT_H_ 8 #define CORE_FXCRT_XML_INT_H_
9 9
10 #include <algorithm> 10 #include <algorithm>
11 11
12 #include "core/fxcrt/fx_stream.h" 12 #include "core/fxcrt/fx_stream.h"
13 13
14 class CFX_UTF8Decoder; 14 class CFX_UTF8Decoder;
15 class CXML_Element; 15 class CXML_Element;
16 16
17 class CXML_Parser { 17 class CXML_Parser {
18 public: 18 public:
19 CXML_Parser(); 19 CXML_Parser();
20 ~CXML_Parser(); 20 ~CXML_Parser();
21 21
22 bool Init(uint8_t* pBuffer, size_t size); 22 bool Init(uint8_t* pBuffer, size_t size);
23 bool Init(IFX_SeekableReadStream* pFileRead); 23 bool Init(const CFX_RetainPtr<IFX_SeekableReadStream>& pFileRead);
24 bool Init(IFX_BufferedReadStream* pBuffer); 24 bool Init(const CFX_RetainPtr<IFX_BufferedReadStream>& pBuffer);
25 bool Init(bool bOwndedStream); 25 bool Init();
26 bool ReadNextBlock(); 26 bool ReadNextBlock();
27 bool IsEOF(); 27 bool IsEOF();
28 bool HaveAvailData(); 28 bool HaveAvailData();
29 void SkipWhiteSpaces(); 29 void SkipWhiteSpaces();
30 void GetName(CFX_ByteString& space, CFX_ByteString& name); 30 void GetName(CFX_ByteString& space, CFX_ByteString& name);
31 void GetAttrValue(CFX_WideString& value); 31 void GetAttrValue(CFX_WideString& value);
32 uint32_t GetCharRef(); 32 uint32_t GetCharRef();
33 void GetTagName(CFX_ByteString& space, 33 void GetTagName(CFX_ByteString& space,
34 CFX_ByteString& name, 34 CFX_ByteString& name,
35 bool& bEndTag, 35 bool& bEndTag,
36 bool bStartTag = false); 36 bool bStartTag = false);
37 void SkipLiterals(const CFX_ByteStringC& str); 37 void SkipLiterals(const CFX_ByteStringC& str);
38 CXML_Element* ParseElement(CXML_Element* pParent, bool bStartTag = false); 38 CXML_Element* ParseElement(CXML_Element* pParent, bool bStartTag = false);
39 void InsertContentSegment(bool bCDATA, 39 void InsertContentSegment(bool bCDATA,
40 const CFX_WideStringC& content, 40 const CFX_WideStringC& content,
41 CXML_Element* pElement); 41 CXML_Element* pElement);
42 void InsertCDATASegment(CFX_UTF8Decoder& decoder, CXML_Element* pElement); 42 void InsertCDATASegment(CFX_UTF8Decoder& decoder, CXML_Element* pElement);
43 43
44 IFX_BufferedReadStream* m_pDataAcc; 44 CFX_RetainPtr<IFX_BufferedReadStream> m_pDataAcc;
45 bool m_bOwnedStream;
46 FX_FILESIZE m_nOffset; 45 FX_FILESIZE m_nOffset;
47 bool m_bSaveSpaceChars; 46 bool m_bSaveSpaceChars;
48 const uint8_t* m_pBuffer; 47 const uint8_t* m_pBuffer;
49 size_t m_dwBufferSize; 48 size_t m_dwBufferSize;
50 FX_FILESIZE m_nBufferOffset; 49 FX_FILESIZE m_nBufferOffset;
51 size_t m_dwIndex; 50 size_t m_dwIndex;
52 }; 51 };
53 52
54 void FX_XML_SplitQualifiedName(const CFX_ByteStringC& bsFullName, 53 void FX_XML_SplitQualifiedName(const CFX_ByteStringC& bsFullName,
55 CFX_ByteStringC& bsSpace, 54 CFX_ByteStringC& bsSpace,
56 CFX_ByteStringC& bsName); 55 CFX_ByteStringC& bsName);
57 56
58 #endif // CORE_FXCRT_XML_INT_H_ 57 #endif // CORE_FXCRT_XML_INT_H_
OLDNEW
« no previous file with comments | « core/fxcrt/fx_xml_parser.cpp ('k') | core/fxge/android/cfpf_skiafilefont.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698