blob: 2b1f1e62a8600cff5e6bfe76bf0c202e501809d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
// Copyright 2014 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_PARSER_H
#define _XFA_PARSER_H
class IFX_Stream;
class IXFA_Parser
{
public:
static IXFA_Parser* Create(IXFA_ObjFactory *pFactory, FX_BOOL bDocumentParser = FALSE);
virtual void Release() = 0;
virtual FX_INT32 StartParse(IFX_FileRead *pStream, XFA_XDPPACKET ePacketID = XFA_XDPPACKET_XDP) = 0;
virtual FX_INT32 DoParse(IFX_Pause *pPause = NULL) = 0;
virtual FX_INT32 ParseXMLData(const CFX_WideString &wsXML, IFDE_XMLNode* &pXMLNode, IFX_Pause *pPause = NULL) = 0;
virtual void ConstructXFANode(CXFA_Node* pXFANode, IFDE_XMLNode* pXMLNode) = 0;
virtual IXFA_ObjFactory* GetFactory() const = 0;
virtual CXFA_Node* GetRootNode() const = 0;
virtual IFDE_XMLDoc* GetXMLDoc() const = 0;
virtual void CloseParser() = 0;
};
class IXFA_DocParser : public IXFA_Parser
{
public:
static IXFA_DocParser* Create(IXFA_Notify *pNotify);
virtual CXFA_Document* GetDocument() const = 0;
virtual IXFA_Notify* GetNotify() const = 0;
};
class IXFA_DataLoaderOptionsProvider
{
public:
static IXFA_DataLoaderOptionsProvider* Create(CXFA_Node* pConfigurationDOM);
virtual void Release() = 0;
};
#endif
|