Index: fpdfsdk/include/fpdfxfa/fpdfxfa_app.h |
diff --git a/fpdfsdk/include/fpdfxfa/fpdfxfa_app.h b/fpdfsdk/include/fpdfxfa/fpdfxfa_app.h |
index a2bc2cc5a7b27f16c55d6ffe3b0ee3f5ed380ac7..37a7ec17a527eb79ebcbc231092a4f9676f573a1 100644 |
--- a/fpdfsdk/include/fpdfxfa/fpdfxfa_app.h |
+++ b/fpdfsdk/include/fpdfxfa/fpdfxfa_app.h |
@@ -1,140 +1,82 @@ |
// 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_ |
+#ifndef FPDFXFA_APP_H_ |
+#define FPDFXFA_APP_H_ |
-class CPDFXFA_App; |
class IFXJS_Runtime; |
class CJS_RuntimeFactory; |
class CPDFXFA_App : public IXFA_AppProvider |
{ |
public: |
- CPDFXFA_App(); |
- ~CPDFXFA_App(); |
- |
- FX_BOOL Initialize(); |
- |
- IXFA_App* GetXFAApp() { return m_pXFAApp; } |
- |
- |
- /*CPDFDoc_Environment*GetFormFillEnv(){ return m_pEnv; }*/ |
- FX_BOOL AddFormFillEnv(CPDFDoc_Environment* pEnv); |
- FX_BOOL RemoveFormFillEnv(CPDFDoc_Environment* pEnv); |
- |
- FXJSE_HRUNTIME GetJSERuntime() { return m_hJSERuntime; } |
- |
- void ReleaseRuntime(); |
- |
- FX_BOOL InitRuntime(FX_BOOL bReset = FALSE) { |
- if (bReset) { |
- m_bInitRuntime = FALSE; |
- return TRUE; |
- } |
- if (m_bInitRuntime) |
- return TRUE; |
- m_bInitRuntime = TRUE; |
- return FALSE; |
- } |
- |
- //IFXJS_Runtime* GetJSRuntime(); |
- |
- CJS_RuntimeFactory* GetRuntimeFactory() {return m_pJSRuntimeFactory;} |
- |
-public: |
- /** |
- *Specifies the name of the client application in which a form currently exists. Such as Exchange-Pro. |
- */ |
- virtual void GetAppType(CFX_WideString &wsAppType); |
- virtual void SetAppType(FX_WSTR wsAppType) ; |
- virtual void SetFoxitAppType(FX_WSTR wsFoxitAppType) { return; } |
- virtual void GetFoxitAppType(CFX_WideString &wsFoxitAppType) { return; } |
- virtual void GetFoxitAppName(CFX_WideString& wsFoxitName) {wsFoxitName = L"Foxit";} |
- virtual void GetFoxitVersion(CFX_WideString &wsFoxitVersion) {wsFoxitVersion = L"7.0";} |
- /** |
- *Returns the language of the running host application. Such as zh_CN |
- */ |
- virtual void GetLanguage(CFX_WideString &wsLanguage); |
- /** |
- *Returns the platform of the machine running the script. Such as WIN |
- */ |
- virtual void GetPlatform(CFX_WideString &wsPlatform); |
- /** |
- * Indicates the packaging of the application that is running the script. Such as Full |
- */ |
- virtual void GetVariation(CFX_WideString &wsVariation); |
- /** |
- * Indicates the version number of the current application. Such as 9 |
- */ |
- virtual void GetVersion(CFX_WideString &wsVersion); |
- //Get application name, such as Phantom |
- virtual void GetAppName(CFX_WideString& wsName); |
- /** |
- *Causes the system to play a sound. |
- * @param[in] dwType The system code for the appropriate sound.0 (Error)1 (Warning)2 (Question)3 (Status)4 (Default) |
- */ |
- virtual void Beep(FX_DWORD dwType); |
- /** |
- * Displays a message box. |
- * @param[in] dwIconType Icon type, refer to XFA_MBICON. |
- * @param[in] dwButtonType Button type, refer to XFA_MESSAGEBUTTON. |
- * @return A valid integer representing the value of the button pressed by the user, refer to XFA_ID. |
- */ |
- virtual FX_INT32 MsgBox(FX_WSTR wsMessage, FX_WSTR wsTitle = FX_WSTRC(L""), FX_DWORD dwIconType = 0, FX_DWORD dwButtonType = 0); |
- //bMark True (default) Masks the user¡¯s answer with * (asterisks). False Does not mask the user¡¯s answer. |
- virtual void Response(CFX_WideString &wsAnswer, FX_WSTR wsQuestion, FX_WSTR wsTitle = FX_WSTRC(L""), FX_WSTR wsDefaultAnswer = FX_WSTRC(L""), FX_BOOL bMark = TRUE); |
- virtual FX_INT32 GetDocumentCountInBatch(); |
- virtual FX_INT32 GetCurDocumentInBatch(); |
- //wsURL http, ftp, such as "http://www.w3.org/TR/REC-xml-names/". |
- virtual IFX_FileRead* DownloadURL(FX_WSTR wsURL); |
- /* |
- * Post data to the given url. |
- * @param[in] wsURL the URL being uploaded. |
- * @param[in] wsData the data being uploaded. |
- * @param[in] wsContentType the content type of data including text/html, text/xml, text/plain, multipart/form-data, |
- * application/x-www-form-urlencoded, application/octet-stream, any valid MIME type. |
- * @param[in] wsEncode the encode of data including UTF-8, UTF-16, ISO8859-1, any recognized [IANA]character encoding |
- * @param[in] wsHeader any additional HTTP headers to be included in the post. |
- * @param[out] wsResponse decoded response from server. |
- * @return TRUE Server permitted the post request, FALSE otherwise. |
- */ |
- virtual FX_BOOL PostRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsContentType, |
- FX_WSTR wsEncode, FX_WSTR wsHeader, CFX_WideString &wsResponse); |
- |
- /* |
- * Put data to the given url. |
- * @param[in] wsURL the URL being uploaded. |
- * @param[in] wsData the data being uploaded. |
- * @param[in] wsEncode the encode of data including UTF-8, UTF-16, ISO8859-1, any recognized [IANA]character encoding |
- * @return TRUE Server permitted the post request, FALSE otherwise. |
- */ |
- virtual FX_BOOL PutRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsEncode); |
- |
- virtual void LoadString(FX_INT32 iStringID, CFX_WideString &wsString); |
- virtual FX_BOOL ShowFileDialog(FX_WSTR wsTitle, FX_WSTR wsFilter, CFX_WideStringArray &wsPathArr, FX_BOOL bOpen = TRUE); |
- virtual IFWL_AdapterTimerMgr* GetTimerMgr(); |
- |
- CFX_ArrayTemplate<CPDFDoc_Environment*> m_pEnvList; |
- |
-public: |
- static CPDFXFA_App* m_pApp; |
- |
-private: |
- IXFA_App* m_pXFAApp; |
- IXFA_FontMgr* m_pFontMgr; |
- FXJSE_HRUNTIME m_hJSERuntime; |
- IFXJS_Runtime* m_pJSRuntime; |
- CJS_RuntimeFactory* m_pJSRuntimeFactory; |
- |
- CFX_WideString m_csAppType; |
- FX_BOOL m_bInitRuntime; |
+ 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); |
+ |
+ FXJSE_HRUNTIME GetJSERuntime() { return m_hJSERuntime; } |
+ void ReleaseRuntime(); |
+ FX_BOOL InitRuntime(FX_BOOL bReset=FALSE); |
+ |
+ CJS_RuntimeFactory* GetRuntimeFactory() { return m_pJSRuntimeFactory; } |
+ |
+ // IFXA_AppProvider: |
+ void GetAppType(CFX_WideString &wsAppType) override; |
+ void SetAppType(FX_WSTR 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; |
+ FX_INT32 MsgBox(FX_WSTR wsMessage, FX_WSTR wsTitle, FX_DWORD dwIconType, FX_DWORD dwButtonType) override; |
+ void Response(CFX_WideString &wsAnswer, FX_WSTR wsQuestion, FX_WSTR wsTitle, |
+ FX_WSTR wsDefaultAnswer, FX_BOOL bMark) override; |
+ |
+ FX_INT32 GetDocumentCountInBatch() override; |
+ FX_INT32 GetCurDocumentInBatch() override; |
+ |
+ IFX_FileRead* DownloadURL(FX_WSTR wsURL) override; |
+ FX_BOOL PostRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsContentType, |
+ FX_WSTR wsEncode, FX_WSTR wsHeader, CFX_WideString &wsResponse) override; |
+ FX_BOOL PutRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsEncode) override; |
+ |
+ void LoadString(FX_INT32 iStringID, CFX_WideString &wsString) override; |
+ FX_BOOL ShowFileDialog(FX_WSTR wsTitle, FX_WSTR 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_bInitRuntime; |
+ IXFA_App* m_pXFAApp; |
+ IXFA_FontMgr* m_pFontMgr; |
+ FXJSE_HRUNTIME m_hJSERuntime; |
+ IFXJS_Runtime* m_pJSRuntime; |
+ CJS_RuntimeFactory* m_pJSRuntimeFactory; |
+ CFX_WideString m_csAppType; |
}; |
-CPDFXFA_App* FPDFXFA_GetApp(); |
-void FPDFXFA_ReleaseApp(); |
- |
-#endif |
+#endif // FPDFXFA_APP_H_ |