OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_FWL_CORE_IFWL_THREAD_H_ | |
8 #define XFA_FWL_CORE_IFWL_THREAD_H_ | |
9 | |
10 // The FWL thread/app code contains three parallel inheritance hierarchies, | |
11 // which reference each other via pointers as follows: | |
12 // | |
13 // m_pImpl | |
14 // (nonesuch) IFWL_Thread ----------> CFWL_ThreadImp | |
15 // | <---------- | | |
16 // A m_pIface A | |
17 // m_pIface | | | |
18 // CXFA_FFApp ------------> IFWL_App CFWL_AppImp | |
19 // | |
20 | |
21 #include "xfa/fwl/core/fwl_error.h" | |
22 | |
23 class CFWL_ThreadImp; | |
24 class IFWL_NoteDriver; | |
25 | |
26 class IFWL_Thread { | |
27 public: | |
28 // These call into polymorphic methods in the impl; no need to override. | |
29 void Release(); | |
30 | |
31 CFWL_ThreadImp* GetImpl() const { return m_pImpl; } | |
32 void SetImpl(CFWL_ThreadImp* pImpl) { m_pImpl = pImpl; } | |
33 | |
34 IFWL_NoteDriver* GetNoteDriver() const; | |
35 | |
36 protected: | |
37 virtual ~IFWL_Thread() {} | |
38 | |
39 private: | |
40 CFWL_ThreadImp* m_pImpl; | |
41 }; | |
42 | |
43 #endif // XFA_FWL_CORE_IFWL_THREAD_H_ | |
OLD | NEW |