// 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 FPDFXFA_APP_H_ | |
#define FPDFXFA_APP_H_ | |
class IFXJS_Runtime; | |
class CPDFXFA_App : public IXFA_AppProvider { | |
public: | |
static CPDFXFA_App* GetInstance(); | |
static void ReleaseInstance(); | |
CPDFXFA_App(); | |
~CPDFXFA_App() override; | |
FX_BOOL Initialize(); | |
IXFA_App* GetXFAApp() { return m_pXFAApp; } | |
FX_BOOL AddFormFillEnv(CPDFDoc_Environment* pEnv); | |
FX_BOOL RemoveFormFillEnv(CPDFDoc_Environment* pEnv); | |
FX_BOOL IsJavaScriptInitialized() const { return m_bJavaScriptInitialized; } | |
void SetJavaScriptInitialized(FX_BOOL bInitialized) { | |
m_bJavaScriptInitialized = bInitialized; | |
} | |
FXJSE_HRUNTIME GetJSERuntime() const { return m_hJSERuntime; } | |
// IFXA_AppProvider: | |
void GetAppType(CFX_WideString& wsAppType) override; | |
void SetAppType(const CFX_WideStringC& wsAppType) override; | |
void GetLanguage(CFX_WideString& wsLanguage) override; | |
void GetPlatform(CFX_WideString& wsPlatform) override; | |
void GetVariation(CFX_WideString& wsVariation) override; | |
void GetVersion(CFX_WideString& wsVersion) override; | |
void GetFoxitVersion(CFX_WideString& wsFoxitVersion) override { | |
wsFoxitVersion = L"7.0"; | |
} | |
void GetAppName(CFX_WideString& wsName) override; | |
void GetFoxitAppName(CFX_WideString& wsFoxitName) override { | |
wsFoxitName = L"Foxit"; | |
} | |
void Beep(FX_DWORD dwType) override; | |
int32_t MsgBox(const CFX_WideStringC& wsMessage, | |
const CFX_WideStringC& wsTitle, | |
FX_DWORD dwIconType, | |
FX_DWORD dwButtonType) override; | |
void Response(CFX_WideString& wsAnswer, | |
const CFX_WideStringC& wsQuestion, | |
const CFX_WideStringC& wsTitle, | |
const CFX_WideStringC& wsDefaultAnswer, | |
FX_BOOL bMark) override; | |
int32_t GetDocumentCountInBatch() override; | |
int32_t GetCurDocumentInBatch() override; | |
IFX_FileRead* DownloadURL(const CFX_WideStringC& wsURL) override; | |
FX_BOOL PostRequestURL(const CFX_WideStringC& wsURL, | |
const CFX_WideStringC& wsData, | |
const CFX_WideStringC& wsContentType, | |
const CFX_WideStringC& wsEncode, | |
const CFX_WideStringC& wsHeader, | |
CFX_WideString& wsResponse) override; | |
FX_BOOL PutRequestURL(const CFX_WideStringC& wsURL, | |
const CFX_WideStringC& wsData, | |
const CFX_WideStringC& wsEncode) override; | |
void LoadString(int32_t iStringID, CFX_WideString& wsString) override; | |
FX_BOOL ShowFileDialog(const CFX_WideStringC& wsTitle, | |
const CFX_WideStringC& wsFilter, | |
CFX_WideStringArray& wsPathArr, | |
FX_BOOL bOpen) override; | |
IFWL_AdapterTimerMgr* GetTimerMgr() override; | |
CFX_ArrayTemplate<CPDFDoc_Environment*> m_pEnvList; | |
protected: | |
static CPDFXFA_App* g_pApp; | |
FX_BOOL m_bJavaScriptInitialized; | |
IXFA_App* m_pXFAApp; | |
IXFA_FontMgr* m_pFontMgr; | |
FXJSE_HRUNTIME m_hJSERuntime; | |
IFXJS_Runtime* m_pJSRuntime; | |
CFX_WideString m_csAppType; | |
}; | |
#endif // FPDFXFA_APP_H_ |