1 //===-- TargetThreadWindows.h -----------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef liblldb_Plugins_Process_Windows_TargetThreadWindows_H_
11 #define liblldb_Plugins_Process_Windows_TargetThreadWindows_H_
12 
13 //#include "ForwardDecl.h"
14 #include "lldb/lldb-forward.h"
15 #include "lldb/Host/HostThread.h"
16 #include "lldb/Target/Thread.h"
17 
18 namespace lldb_private
19 {
20 class ProcessWindows;
21 class HostThread;
22 class StackFrame;
23 
24 class TargetThreadWindows : public lldb_private::Thread
25 {
26   public:
27     TargetThreadWindows(ProcessWindows &process, const HostThread &thread);
28     virtual ~TargetThreadWindows();
29 
30     // lldb_private::Thread overrides
31     void RefreshStateAfterStop() override;
32     void WillResume(lldb::StateType resume_state) override;
33     void DidStop() override;
34     bool CalculateStopInfo() override;
35     Unwind *GetUnwinder() override;
36 
37     bool DoResume();
38 
39     HostThread
40     GetHostThread() const
41     {
42         return m_host_thread;
43     }
44 
45   private:
46     HostThread m_host_thread;
47 };
48 }
49 
50 #endif
51