blob: 3db46f8722b6f2166f2d9dd5eaaf3ace0063922b [file] [log] [blame]
Zachary Turner119767d2014-11-17 17:46:43 +00001//===-- 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"
17class ProcessWindows;
18
19namespace lldb_private
20{
21
22class HostThread;
23class StackFrame;
24
25class TargetThreadWindows : public lldb_private::Thread
26{
27 public:
28 TargetThreadWindows(ProcessWindows &process, const HostThread &thread);
29 virtual ~TargetThreadWindows();
30
31 virtual void RefreshStateAfterStop() override;
32 virtual void WillResume(lldb::StateType resume_state) override;
33 virtual void DidStop() override;
34 virtual lldb::RegisterContextSP GetRegisterContext() override;
35 virtual lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override;
36 virtual bool CalculateStopInfo() override;
37
38 bool DoResume();
39
40 private:
41 lldb::StackFrameUP m_stack_frame;
42
43 HostThread m_host_thread;
44};
45}
46
47#endif