| 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 |