summaryrefslogtreecommitdiff
path: root/xfa/include/fxfa/xfa_ffdochandler.h
blob: 7eaa20b4cccee411aa1a23a6501ce81246c2d456 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 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_INCLUDE_FXFA_XFA_FFDOCHANDLER_H_
#define XFA_INCLUDE_FXFA_XFA_FFDOCHANDLER_H_

#include "xfa/include/fxfa/fxfa.h"

class CXFA_ChecksumContext;

class CXFA_FFDocHandler {
 public:
  CXFA_FFDocHandler();
  ~CXFA_FFDocHandler();

  void ReleaseDoc(CXFA_FFDoc* hDoc);
  IXFA_DocProvider* GetDocProvider(CXFA_FFDoc* hDoc);
  uint32_t GetDocType(CXFA_FFDoc* hDoc);
  int32_t StartLoad(CXFA_FFDoc* hDoc);
  int32_t DoLoad(CXFA_FFDoc* hDoc, IFX_Pause* pPause = NULL);
  void StopLoad(CXFA_FFDoc* hDoc);

  CXFA_FFDocView* CreateDocView(CXFA_FFDoc* hDoc, uint32_t dwView = 0);
  int32_t CountPackages(CXFA_FFDoc* hDoc);
  void GetPackageName(CXFA_FFDoc* hDoc,
                      int32_t iPackage,
                      CFX_WideStringC& wsPackage);
  CFDE_XMLElement* GetPackageData(CXFA_FFDoc* hDoc,
                                  const CFX_WideStringC& wsPackage);
  FX_BOOL SavePackage(CXFA_FFDoc* hDoc,
                      const CFX_WideStringC& wsPackage,
                      IFX_FileWrite* pFile,
                      CXFA_ChecksumContext* pCSContext = NULL);
  FX_BOOL CloseDoc(CXFA_FFDoc* hDoc);
  FX_BOOL ImportData(CXFA_FFDoc* hDoc,
                     IFX_FileRead* pStream,
                     FX_BOOL bXDP = TRUE);
  void SetJSERuntime(CXFA_FFDoc* hDoc, FXJSE_HRUNTIME hRuntime);
  FXJSE_HVALUE GetXFAScriptObject(CXFA_FFDoc* hDoc);
  XFA_ATTRIBUTEENUM GetRestoreState(CXFA_FFDoc* hDoc);
  FX_BOOL RunDocScript(CXFA_FFDoc* hDoc,
                       XFA_SCRIPTTYPE eScriptType,
                       const CFX_WideStringC& wsScript,
                       FXJSE_HVALUE hRetValue,
                       FXJSE_HVALUE hThisObject);

 protected:
};

#endif  // XFA_INCLUDE_FXFA_XFA_FFDOCHANDLER_H_