OLD | NEW |
---|---|
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 XFA_FWL_CORE_IFWL_APP_H_ | 7 #ifndef XFA_FWL_CORE_IFWL_APP_H_ |
8 #define XFA_FWL_CORE_IFWL_APP_H_ | 8 #define XFA_FWL_CORE_IFWL_APP_H_ |
9 | 9 |
10 // The FWL thread/app code contains three parallel classes, which reference each | 10 // The FWL thread/app code contains three parallel classes, which reference each |
Tom Sepez
2016/04/28 16:42:12
nit: did we obliterate the word "thread"?
dsinclair
2016/04/28 17:53:46
Yup.
| |
11 // other via pointers as follows: | 11 // other via pointers as follows: |
12 // | 12 // |
13 // m_pIface m_pImpl | 13 // m_pIface m_pImpl |
14 // CXFA_FFApp ------------> IFWL_App -----------> CFWL_AppImp | 14 // CXFA_FFApp ------------> IFWL_App -----------> CFWL_AppImp |
15 // <----------- | 15 // <----------- |
16 // m_pIface | 16 // m_pIface |
17 | 17 |
18 #include <memory> | 18 #include <memory> |
19 | 19 |
20 #include "core/fxcrt/include/fx_string.h" | 20 #include "core/fxcrt/include/fx_string.h" |
21 #include "xfa/fwl/core/fwl_appimp.h" | 21 #include "xfa/fwl/core/fwl_appimp.h" |
22 #include "xfa/fwl/core/fwl_error.h" | 22 #include "xfa/fwl/core/fwl_error.h" |
23 | 23 |
24 class CFWL_NoteDriver; | 24 class CFWL_NoteDriver; |
25 class IFWL_AdapterNative; | 25 class CXFA_FFApp; |
26 class IFWL_AdapterWidgetMgr; | 26 class CXFA_FWLAdapterWidgetMgr; |
27 class IFWL_ThemeProvider; | 27 class IFWL_ThemeProvider; |
28 class IFWL_Widget; | 28 class IFWL_Widget; |
29 class IFWL_WidgetMgr; | 29 class IFWL_WidgetMgr; |
30 | 30 |
31 class IFWL_App { | 31 class IFWL_App { |
32 public: | 32 public: |
33 static IFWL_App* Create(IFWL_AdapterNative* pAdapter); | 33 static IFWL_App* Create(CXFA_FFApp* pAdapter); |
34 | 34 |
35 virtual ~IFWL_App() {} | 35 virtual ~IFWL_App() {} |
36 | 36 |
37 FWL_ERR Initialize(); | 37 FWL_ERR Initialize(); |
38 FWL_ERR Finalize(); | 38 FWL_ERR Finalize(); |
39 IFWL_AdapterNative* GetAdapterNative(); | 39 CXFA_FFApp* GetAdapterNative(); |
40 IFWL_WidgetMgr* GetWidgetMgr(); | 40 IFWL_WidgetMgr* GetWidgetMgr(); |
41 IFWL_ThemeProvider* GetThemeProvider(); | 41 IFWL_ThemeProvider* GetThemeProvider(); |
42 FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider); | 42 FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pThemeProvider); |
43 FWL_ERR Exit(int32_t iExitCode); | 43 void Exit(int32_t iExitCode); |
44 | 44 |
45 // These call into polymorphic methods in the impl; no need to override. | 45 // These call into polymorphic methods in the impl; no need to override. |
46 void Release(); | 46 void Release(); |
47 | 47 |
48 CFWL_AppImp* GetImpl() const { return m_pImpl.get(); } | 48 CFWL_AppImp* GetImpl() const { return m_pImpl.get(); } |
49 void SetImpl(CFWL_AppImp* pImpl) { m_pImpl.reset(pImpl); } | 49 void SetImpl(CFWL_AppImp* pImpl) { m_pImpl.reset(pImpl); } |
50 | 50 |
51 CFWL_NoteDriver* GetNoteDriver() const; | 51 CFWL_NoteDriver* GetNoteDriver() const; |
52 | 52 |
53 private: | 53 private: |
54 IFWL_App() {} | 54 IFWL_App() {} |
55 | 55 |
56 std::unique_ptr<CFWL_AppImp> m_pImpl; | 56 std::unique_ptr<CFWL_AppImp> m_pImpl; |
57 }; | 57 }; |
58 | 58 |
59 IFWL_App* FWL_GetApp(); | 59 IFWL_App* FWL_GetApp(); |
60 void FWL_SetApp(IFWL_App* pApp); | 60 void FWL_SetApp(IFWL_App* pApp); |
61 | 61 |
62 IFWL_AdapterNative* FWL_GetAdapterNative(); | 62 CXFA_FFApp* FWL_GetAdapterNative(); |
63 IFWL_AdapterWidgetMgr* FWL_GetAdapterWidgetMgr(); | 63 CXFA_FWLAdapterWidgetMgr* FWL_GetAdapterWidgetMgr(); |
64 | 64 |
65 #endif // XFA_FWL_CORE_IFWL_APP_H_ | 65 #endif // XFA_FWL_CORE_IFWL_APP_H_ |
OLD | NEW |