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 app code contains three parallel classes, which reference each |
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 void 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 | 49 |
50 // Takes ownership of |pImpl|. | 50 // Takes ownership of |pImpl|. |
51 void SetImpl(CFWL_AppImp* pImpl) { m_pImpl.reset(pImpl); } | 51 void SetImpl(CFWL_AppImp* pImpl) { m_pImpl.reset(pImpl); } |
52 | 52 |
53 CFWL_NoteDriver* GetNoteDriver() const; | 53 CFWL_NoteDriver* GetNoteDriver() const; |
54 | 54 |
55 private: | 55 private: |
56 IFWL_App() {} | 56 IFWL_App() {} |
57 | 57 |
58 std::unique_ptr<CFWL_AppImp> m_pImpl; | 58 std::unique_ptr<CFWL_AppImp> m_pImpl; |
59 }; | 59 }; |
60 | 60 |
61 IFWL_App* FWL_GetApp(); | 61 IFWL_App* FWL_GetApp(); |
62 void FWL_SetApp(IFWL_App* pApp); | 62 void FWL_SetApp(IFWL_App* pApp); |
63 | 63 |
64 IFWL_AdapterNative* FWL_GetAdapterNative(); | 64 CXFA_FFApp* FWL_GetAdapterNative(); |
65 IFWL_AdapterWidgetMgr* FWL_GetAdapterWidgetMgr(); | 65 CXFA_FWLAdapterWidgetMgr* FWL_GetAdapterWidgetMgr(); |
66 | 66 |
67 #endif // XFA_FWL_CORE_IFWL_APP_H_ | 67 #endif // XFA_FWL_CORE_IFWL_APP_H_ |
OLD | NEW |