1 // Copyright 2016 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef XFA_FXFA_PARSER_CXFA_DOCUMENT_PARSER_H_ 8 #define XFA_FXFA_PARSER_CXFA_DOCUMENT_PARSER_H_ 9 10 #include <memory> 11 12 #include "xfa/fxfa/parser/cxfa_simple_parser.h" 13 14 class CFDE_XMLDoc; 15 class CXFA_Document; 16 class CXFA_FFNotify; 17 class CXFA_Notify; 18 class IFX_SeekableReadStream; 19 class IFX_Pause; 20 21 class CXFA_DocumentParser { 22 public: 23 explicit CXFA_DocumentParser(CXFA_FFNotify* pNotify); 24 ~CXFA_DocumentParser(); 25 26 int32_t StartParse(const CFX_RetainPtr<IFX_SeekableReadStream>& pStream, 27 XFA_XDPPACKET ePacketID); 28 int32_t DoParse(IFX_Pause* pPause); 29 30 CFDE_XMLDoc* GetXMLDoc() const; 31 CXFA_FFNotify* GetNotify() const; 32 CXFA_Document* GetDocument() const; 33 34 protected: 35 CXFA_SimpleParser m_nodeParser; 36 CXFA_FFNotify* m_pNotify; 37 std::unique_ptr<CXFA_Document> m_pDocument; 38 }; 39 40 #endif // XFA_FXFA_PARSER_CXFA_DOCUMENT_PARSER_H_ 41