// Copyright 2017 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef XFA_FDE_XML_CFDE_XMLDOC_H_ #define XFA_FDE_XML_CFDE_XMLDOC_H_ #include #include "core/fxcrt/cfx_retain_ptr.h" #include "xfa/fde/xml/cfde_xmlnode.h" #include "xfa/fde/xml/cfde_xmlparser.h" #include "xfa/fgas/crt/cfgas_stream.h" class CFDE_XMLDoc { public: CFDE_XMLDoc(); ~CFDE_XMLDoc(); bool LoadXML(std::unique_ptr pXMLParser); int32_t DoLoad(IFX_Pause* pPause); void CloseXML(); CFDE_XMLNode* GetRoot() const { return m_pRoot.get(); } void SaveXMLNode(const CFX_RetainPtr& pXMLStream, CFDE_XMLNode* pNode); private: int32_t m_iStatus; std::unique_ptr m_pRoot; std::unique_ptr m_pXMLParser; CFX_RetainPtr m_pStream; }; #endif // XFA_FDE_XML_CFDE_XMLDOC_H_