// 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 #include "core/fxcrt/xml/cfx_xmldoc.h" #include #include #include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/xml/cfx_xmlchardata.h" #include "core/fxcrt/xml/cfx_xmlelement.h" #include "core/fxcrt/xml/cfx_xmlinstruction.h" #include "core/fxcrt/xml/cfx_xmlnode.h" #include "core/fxcrt/xml/cfx_xmltext.h" #include "third_party/base/ptr_util.h" #include "third_party/base/stl_util.h" CFX_XMLDoc::CFX_XMLDoc(const RetainPtr& pStream) : m_pRoot(pdfium::MakeUnique()), m_pXMLParser(pdfium::MakeUnique(m_pRoot.get(), pStream)) { ASSERT(pStream); m_pRoot->AppendChild(new CFX_XMLInstruction(L"xml")); } CFX_XMLDoc::~CFX_XMLDoc() {} int32_t CFX_XMLDoc::Load() { return m_pXMLParser->Parse(); } void CFX_XMLDoc::CloseXML() { m_pXMLParser.reset(); }