Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: fpdfsdk/include/fpdfxfa/fpdfxfa_app.h

Issue 1153553003: Make CPDFXFA_App / IXFA_AppProvider saner (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Address comments. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | fpdfsdk/src/fpdf_dataavail.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef _FPDFXFA_APP_H_ 7 #ifndef FPDFXFA_APP_H_
8 #define _FPDFXFA_APP_H_ 8 #define FPDFXFA_APP_H_
9 9
10 class CPDFXFA_App;
11 class IFXJS_Runtime; 10 class IFXJS_Runtime;
12 class CJS_RuntimeFactory; 11 class CJS_RuntimeFactory;
13 12
14 class CPDFXFA_App : public IXFA_AppProvider 13 class CPDFXFA_App : public IXFA_AppProvider
15 { 14 {
16 public: 15 public:
17 » CPDFXFA_App(); 16 static CPDFXFA_App* GetInstance();
18 » ~CPDFXFA_App(); 17 static void ReleaseInstance();
19 18
20 » FX_BOOL»» » » Initialize(); 19 CPDFXFA_App();
20 ~CPDFXFA_App() override;
21 21
22 » IXFA_App*» » » GetXFAApp() { return m_pXFAApp; } 22 FX_BOOL Initialize();
23 IXFA_App* GetXFAApp() { return m_pXFAApp; }
23 24
24 » » » » » » 25 FX_BOOL AddFormFillEnv(CPDFDoc_Environment* pEnv);
25 » /*CPDFDoc_Environment*GetFormFillEnv(){ return m_pEnv; }*/ 26 FX_BOOL RemoveFormFillEnv(CPDFDoc_Environment* pEnv);
26 » FX_BOOL»» » » AddFormFillEnv(CPDFDoc_Environment* pEnv );
27 » FX_BOOL»» » » RemoveFormFillEnv(CPDFDoc_Environment* p Env);
28 27
29 » FXJSE_HRUNTIME» » GetJSERuntime() { return m_hJSERuntime; } 28 FXJSE_HRUNTIME GetJSERuntime() { return m_hJSERuntime; }
29 void ReleaseRuntime();
30 FX_BOOL InitRuntime(FX_BOOL bReset=FALSE);
30 31
31 » void» » » » ReleaseRuntime(); 32 CJS_RuntimeFactory* GetRuntimeFactory() { return m_pJSRuntimeFactory; }
32 33
33 » FX_BOOL»» » » InitRuntime(FX_BOOL bReset = FALSE) { 34 // IFXA_AppProvider:
34 » » if (bReset) { 35 void GetAppType(CFX_WideString &wsAppType) override;
35 » » » m_bInitRuntime = FALSE; 36 void SetAppType(FX_WSTR wsAppType) override;
36 » » » return TRUE;
37 » » }
38 » » if (m_bInitRuntime)
39 » » » return TRUE;
40 » » m_bInitRuntime = TRUE;
41 » » return FALSE;
42 » }
43 37
44 » //IFXJS_Runtime*» » GetJSRuntime(); 38 void GetLanguage(CFX_WideString &wsLanguage) override;
39 void GetPlatform(CFX_WideString &wsPlatform) override;
40 void GetVariation(CFX_WideString &wsVariation) override;
41 void GetVersion(CFX_WideString &wsVersion) override;
42 void GetFoxitVersion(CFX_WideString &wsFoxitVersion) override {
43 wsFoxitVersion = L"7.0";
44 }
45 45
46 » CJS_RuntimeFactory* GetRuntimeFactory() {return m_pJSRuntimeFactory;} 46 void GetAppName(CFX_WideString& wsName) override;
47 void GetFoxitAppName(CFX_WideString& wsFoxitName) override {
48 wsFoxitName = L"Foxit";
49 }
47 50
48 public: 51 void Beep(FX_DWORD dwType) override;
49 » /** 52 FX_INT32 MsgBox(FX_WSTR wsMessage, FX_WSTR wsTitle, FX_DWORD dwIconType, FX_ DWORD dwButtonType) override;
50 » *Specifies the name of the client application in which a form currently exists. Such as Exchange-Pro. 53 void Response(CFX_WideString &wsAnswer, FX_WSTR wsQuestion, FX_WSTR wsTitle,
51 » */ 54 FX_WSTR wsDefaultAnswer, FX_BOOL bMark) override;
52 » virtual void» » GetAppType(CFX_WideString &wsAppType);
53 » virtual void» » SetAppType(FX_WSTR wsAppType) ;
54 » virtual void» » SetFoxitAppType(FX_WSTR wsFoxitAppType) { return ; }
55 » virtual void» » GetFoxitAppType(CFX_WideString &wsFoxitAppType) { return; }
56 » virtual void» » GetFoxitAppName(CFX_WideString& wsFoxitName) {ws FoxitName = L"Foxit";}
57 » virtual void» » GetFoxitVersion(CFX_WideString &wsFoxitVersion) {wsFoxitVersion = L"7.0";}
58 » /**
59 » *Returns the language of the running host application. Such as zh_CN
60 » */
61 » virtual void» » GetLanguage(CFX_WideString &wsLanguage);
62 » /**
63 » » *Returns the platform of the machine running the script. Such as WIN
64 » */
65 » virtual void» » GetPlatform(CFX_WideString &wsPlatform);
66 » /**
67 » * Indicates the packaging of the application that is running the script . Such as Full
68 » */
69 » virtual void» » GetVariation(CFX_WideString &wsVariation);
70 » /**
71 » * Indicates the version number of the current application. Such as 9
72 » */
73 » virtual void» » GetVersion(CFX_WideString &wsVersion);
74 » //Get application name, such as Phantom
75 » virtual void» » GetAppName(CFX_WideString& wsName);
76 » /**
77 » *Causes the system to play a sound.»
78 » * @param[in] dwType The system code for the appropriate sound.0 (Error) 1 (Warning)2 (Question)3 (Status)4 (Default)
79 » */
80 » virtual void» » Beep(FX_DWORD dwType);
81 » /**
82 » * Displays a message box.
83 » * @param[in] dwIconType» Icon type, refer to XFA_MBICON.
84 » * @param[in] dwButtonType» Button type, refer to XFA_MESSAGEBUTTON.
85 » * @return A valid integer representing the value of the button pressed by the user, refer to XFA_ID.
86 » */
87 » virtual FX_INT32» MsgBox(FX_WSTR wsMessage, FX_WSTR wsTitle = FX_W STRC(L""), FX_DWORD dwIconType = 0, FX_DWORD dwButtonType = 0);
88 » //bMark True (default) Masks the user¡¯s answer with * (asterisks). Fals e Does not mask the user¡¯s answer.
89 » virtual void» » Response(CFX_WideString &wsAnswer, FX_WSTR wsQue stion, FX_WSTR wsTitle = FX_WSTRC(L""), FX_WSTR wsDefaultAnswer = FX_WSTRC(L""), FX_BOOL bMark = TRUE);
90 » virtual FX_INT32» GetDocumentCountInBatch();
91 » virtual FX_INT32» GetCurDocumentInBatch();
92 » //wsURL http, ftp, such as "http://www.w3.org/TR/REC-xml-names/".
93 » virtual IFX_FileRead* DownloadURL(FX_WSTR wsURL);
94 » /*
95 » * Post data to the given url.
96 » * @param[in] wsURL» » » the URL being uploaded.
97 » * @param[in] wsData» » » the data being uploaded.
98 » * @param[in] wsContentType» the content type of data including text/ html, text/xml, text/plain, multipart/form-data,
99 » *» » » » » » » application/x-ww w-form-urlencoded, application/octet-stream, any valid MIME type.
100 » * @param[in] wsEncode» » the encode of data including UTF-8, UTF- 16, ISO8859-1, any recognized [IANA]character encoding
101 » * @param[in] wsHeader» » any additional HTTP headers to be includ ed in the post.
102 » * @param[out] wsResponse» decoded response from server.
103 » * @return TRUE Server permitted the post request, FALSE otherwise.
104 » */
105 » virtual FX_BOOL»» PostRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX _WSTR wsContentType,
106 » » » » » » » » » FX_W STR wsEncode, FX_WSTR wsHeader, CFX_WideString &wsResponse);
107 55
108 » /* 56 FX_INT32 GetDocumentCountInBatch() override;
109 » * Put data to the given url. 57 FX_INT32 GetCurDocumentInBatch() override;
110 » * @param[in] wsURL» » » the URL being uploaded.
111 » * @param[in] wsData» » » the data being uploaded.
112 » * @param[in] wsEncode» » the encode of data including UTF-8, UTF- 16, ISO8859-1, any recognized [IANA]character encoding
113 » * @return TRUE Server permitted the post request, FALSE otherwise.
114 » */
115 » virtual FX_BOOL»» PutRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_ WSTR wsEncode);
116 58
117 » virtual void» » LoadString(FX_INT32 iStringID, CFX_WideString &w sString); 59 IFX_FileRead* DownloadURL(FX_WSTR wsURL) override;
118 » virtual»FX_BOOL»» ShowFileDialog(FX_WSTR wsTitle, FX_WSTR wsFilter , CFX_WideStringArray &wsPathArr, FX_BOOL bOpen = TRUE); 60 FX_BOOL PostRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsContentType,
119 » virtual IFWL_AdapterTimerMgr* GetTimerMgr(); 61 FX_WSTR wsEncode, FX_WSTR wsHeader, CFX_WideString &w sResponse) override;
62 FX_BOOL PutRequestURL(FX_WSTR wsURL, FX_WSTR wsData, FX_WSTR wsEncode) overr ide;
120 63
121 » CFX_ArrayTemplate<CPDFDoc_Environment*> m_pEnvList; 64 void LoadString(FX_INT32 iStringID, CFX_WideString &wsString) override;
65 FX_BOOL ShowFileDialog(FX_WSTR wsTitle, FX_WSTR wsFilter, CFX_WideStringArra y &wsPathArr, FX_BOOL bOpen) override;
66 IFWL_AdapterTimerMgr* GetTimerMgr() override;
122 67
123 public: 68 CFX_ArrayTemplate<CPDFDoc_Environment*> m_pEnvList;
124 » static CPDFXFA_App* m_pApp;
125 69
126 private: 70 protected:
127 » IXFA_App* m_pXFAApp; 71 static CPDFXFA_App* g_pApp;
128 » IXFA_FontMgr* m_pFontMgr;
129 » FXJSE_HRUNTIME m_hJSERuntime;
130 » IFXJS_Runtime* m_pJSRuntime;
131 » CJS_RuntimeFactory* m_pJSRuntimeFactory;
132 72
133 » CFX_WideString» m_csAppType; 73 FX_BOOL m_bInitRuntime;
134 » FX_BOOL»» » m_bInitRuntime; 74 IXFA_App* m_pXFAApp;
75 IXFA_FontMgr* m_pFontMgr;
76 FXJSE_HRUNTIME m_hJSERuntime;
77 IFXJS_Runtime* m_pJSRuntime;
78 CJS_RuntimeFactory* m_pJSRuntimeFactory;
79 CFX_WideString m_csAppType;
135 }; 80 };
136 81
137 CPDFXFA_App* FPDFXFA_GetApp(); 82 #endif // FPDFXFA_APP_H_
138 void FPDFXFA_ReleaseApp();
139
140 #endif
OLDNEW
« no previous file with comments | « no previous file | fpdfsdk/src/fpdf_dataavail.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698