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 FWL_THREADIMP_H_ 8 #define FWL_THREADIMP_H_ 9 10 #include "xfa/include/fwl/core/fwl_thread.h" // For FWL_HTHREAD. 11 12 class CFWL_NoteDriver; 13 class IFWL_NoteDriver; 14 15 class CFWL_ThreadImp { 16 public: ~CFWL_ThreadImp()17 virtual ~CFWL_ThreadImp() {} GetInterface()18 IFWL_Thread* GetInterface() const { return m_pIface; } 19 virtual FWL_ERR Run(FWL_HTHREAD hThread); 20 21 protected: CFWL_ThreadImp(IFWL_Thread * pIface)22 CFWL_ThreadImp(IFWL_Thread* pIface) : m_pIface(pIface) {} 23 24 private: 25 IFWL_Thread* const m_pIface; 26 }; 27 28 class CFWL_NoteThreadImp : public CFWL_ThreadImp { 29 public: 30 CFWL_NoteThreadImp(IFWL_NoteThread* pIface); 31 virtual ~CFWL_NoteThreadImp(); 32 33 FWL_ERR Run(FWL_HTHREAD hThread) override; 34 virtual IFWL_NoteDriver* GetNoteDriver(); 35 36 protected: 37 CFWL_NoteDriver* const m_pNoteDriver; 38 }; 39 40 #endif // FWL_THREADIMP_H_ 41