Home | History | Annotate | Download | only in include
      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:
     17   virtual ~CFWL_ThreadImp() {}
     18   IFWL_Thread* GetInterface() const { return m_pIface; }
     19   virtual FWL_ERR Run(FWL_HTHREAD hThread);
     20 
     21  protected:
     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