summaryrefslogtreecommitdiff
path: root/xfa/fxfa/app/xfa_ffdochandler.h
blob: 47dd85fa81767acfbc56e0c479d8ddebf69fdbd6 (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
// 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_FXFA_APP_XFA_FFDOCHANDLER_H_
#define XFA_FXFA_APP_XFA_FFDOCHANDLER_H_

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

class CXFA_FFDocHandler : public IXFA_DocHandler {
 public:
  CXFA_FFDocHandler();
  ~CXFA_FFDocHandler();
  virtual void ReleaseDoc(IXFA_Doc* hDoc);
  virtual IXFA_DocProvider* GetDocProvider(IXFA_Doc* hDoc);
  virtual FX_DWORD GetDocType(IXFA_Doc* hDoc);
  virtual int32_t StartLoad(IXFA_Doc* hDoc);
  virtual int32_t DoLoad(IXFA_Doc* hDoc, IFX_Pause* pPause = NULL);
  virtual void StopLoad(IXFA_Doc* hDoc);

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

 protected:
};

#endif  // XFA_FXFA_APP_XFA_FFDOCHANDLER_H_