OLD | NEW |
1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "xfa/fxfa/parser/cxfa_dataimporter.h" | 7 #include "xfa/fxfa/parser/cxfa_dataimporter.h" |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
11 #include "core/fxcrt/fx_stream.h" | 11 #include "core/fxcrt/fx_stream.h" |
12 #include "xfa/fde/xml/fde_xml_imp.h" | 12 #include "xfa/fde/xml/fde_xml_imp.h" |
13 #include "xfa/fxfa/fxfa.h" | 13 #include "xfa/fxfa/fxfa.h" |
14 #include "xfa/fxfa/fxfa_basic.h" | 14 #include "xfa/fxfa/fxfa_basic.h" |
15 #include "xfa/fxfa/parser/cxfa_document.h" | 15 #include "xfa/fxfa/parser/cxfa_document.h" |
16 #include "xfa/fxfa/parser/cxfa_simple_parser.h" | 16 #include "xfa/fxfa/parser/cxfa_simple_parser.h" |
17 #include "xfa/fxfa/parser/xfa_object.h" | 17 #include "xfa/fxfa/parser/xfa_object.h" |
18 | 18 |
19 CXFA_DataImporter::CXFA_DataImporter(CXFA_Document* pDocument) | 19 CXFA_DataImporter::CXFA_DataImporter(CXFA_Document* pDocument) |
20 : m_pDocument(pDocument) { | 20 : m_pDocument(pDocument) { |
21 ASSERT(m_pDocument); | 21 ASSERT(m_pDocument); |
22 } | 22 } |
23 | 23 |
24 FX_BOOL CXFA_DataImporter::ImportData(IFX_FileRead* pDataDocument) { | 24 FX_BOOL CXFA_DataImporter::ImportData(IFX_SeekableReadStream* pDataDocument) { |
25 std::unique_ptr<CXFA_SimpleParser> pDataDocumentParser( | 25 std::unique_ptr<CXFA_SimpleParser> pDataDocumentParser( |
26 new CXFA_SimpleParser(m_pDocument, false)); | 26 new CXFA_SimpleParser(m_pDocument, false)); |
27 if (pDataDocumentParser->StartParse(pDataDocument, XFA_XDPPACKET_Datasets) != | 27 if (pDataDocumentParser->StartParse(pDataDocument, XFA_XDPPACKET_Datasets) != |
28 XFA_PARSESTATUS_Ready) { | 28 XFA_PARSESTATUS_Ready) { |
29 return FALSE; | 29 return FALSE; |
30 } | 30 } |
31 if (pDataDocumentParser->DoParse(nullptr) < XFA_PARSESTATUS_Done) | 31 if (pDataDocumentParser->DoParse(nullptr) < XFA_PARSESTATUS_Done) |
32 return FALSE; | 32 return FALSE; |
33 | 33 |
34 CXFA_Node* pImportDataRoot = pDataDocumentParser->GetRootNode(); | 34 CXFA_Node* pImportDataRoot = pDataDocumentParser->GetRootNode(); |
(...skipping 18 matching lines...) Expand all Loading... |
53 } else { | 53 } else { |
54 CFDE_XMLNode* pXMLNode = pImportDataRoot->GetXMLMappingNode(); | 54 CFDE_XMLNode* pXMLNode = pImportDataRoot->GetXMLMappingNode(); |
55 CFDE_XMLNode* pParentXMLNode = pXMLNode->GetNodeItem(CFDE_XMLNode::Parent); | 55 CFDE_XMLNode* pParentXMLNode = pXMLNode->GetNodeItem(CFDE_XMLNode::Parent); |
56 if (pParentXMLNode) | 56 if (pParentXMLNode) |
57 pParentXMLNode->RemoveChildNode(pXMLNode); | 57 pParentXMLNode->RemoveChildNode(pXMLNode); |
58 pDataModel->InsertChild(pImportDataRoot); | 58 pDataModel->InsertChild(pImportDataRoot); |
59 } | 59 } |
60 m_pDocument->DoDataRemerge(FALSE); | 60 m_pDocument->DoDataRemerge(FALSE); |
61 return TRUE; | 61 return TRUE; |
62 } | 62 } |
OLD | NEW |