| // 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 FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ |
| #define FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ |
| |
| #include "third_party/base/ptr_util.h" |
| #include "xfa/fxfa/fxfa.h" |
| |
| class CPDFSDK_FormFillEnvironment; |
| class CJS_Runtime; |
| |
| class CPDFXFA_App : public IXFA_AppProvider { |
| public: |
| CPDFXFA_App(); |
| ~CPDFXFA_App() override; |
| |
| CXFA_FFApp* GetXFAApp() { return m_pXFAApp.get(); } |
| |
| void SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv); |
| |
| v8::Isolate* GetJSERuntime() const; |
| |
| // IFXA_AppProvider: |
| void GetLanguage(CFX_WideString& wsLanguage) override; |
| void GetPlatform(CFX_WideString& wsPlatform) override; |
| void GetAppName(CFX_WideString& wsName) override; |
| |
| void Beep(uint32_t dwType) override; |
| int32_t MsgBox(const CFX_WideString& wsMessage, |
| const CFX_WideString& wsTitle, |
| uint32_t dwIconType, |
| uint32_t dwButtonType) override; |
| CFX_WideString Response(const CFX_WideString& wsQuestion, |
| const CFX_WideString& wsTitle, |
| const CFX_WideString& wsDefaultAnswer, |
| FX_BOOL bMark) override; |
| |
| IFX_SeekableReadStream* DownloadURL(const CFX_WideString& wsURL) override; |
| FX_BOOL PostRequestURL(const CFX_WideString& wsURL, |
| const CFX_WideString& wsData, |
| const CFX_WideString& wsContentType, |
| const CFX_WideString& wsEncode, |
| const CFX_WideString& wsHeader, |
| CFX_WideString& wsResponse) override; |
| FX_BOOL PutRequestURL(const CFX_WideString& wsURL, |
| const CFX_WideString& wsData, |
| const CFX_WideString& wsEncode) override; |
| |
| void LoadString(int32_t iStringID, CFX_WideString& wsString) override; |
| IFWL_AdapterTimerMgr* GetTimerMgr() override; |
| |
| private: |
| CPDFSDK_FormFillEnvironment* m_pFormFillEnv; // Not owned. |
| std::unique_ptr<CXFA_FFApp> m_pXFAApp; |
| }; |
| |
| #endif // FPDFSDK_FPDFXFA_CPDFXFA_APP_H_ |