summaryrefslogtreecommitdiff
path: root/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h')
-rw-r--r--source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h b/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h
new file mode 100644
index 0000000000000..15262b9e94239
--- /dev/null
+++ b/source/Plugins/Process/Windows/Live/TargetThreadWindowsLive.h
@@ -0,0 +1,55 @@
+//===-- TargetThreadWindowsLive.h -------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_
+#define liblldb_Plugins_Process_Windows_TargetThreadWindowsLive_H_
+
+#include "lldb/lldb-forward.h"
+#include "lldb/Host/HostThread.h"
+#include "lldb/Target/Thread.h"
+
+#include "Plugins/Process/Windows/Common/TargetThreadWindows.h"
+
+namespace lldb_private
+{
+class ProcessWindows;
+class HostThread;
+class StackFrame;
+
+class TargetThreadWindowsLive : public lldb_private::TargetThreadWindows
+{
+ public:
+ TargetThreadWindowsLive(ProcessWindows &process, const HostThread &thread);
+ virtual ~TargetThreadWindowsLive();
+
+ // lldb_private::Thread overrides
+ void RefreshStateAfterStop() override;
+ void WillResume(lldb::StateType resume_state) override;
+ void DidStop() override;
+ lldb::RegisterContextSP GetRegisterContext() override;
+ lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override;
+ bool CalculateStopInfo() override;
+ Unwind *GetUnwinder() override;
+
+ bool DoResume();
+
+ HostThread
+ GetHostThread() const
+ {
+ return m_host_thread;
+ }
+
+ private:
+ lldb::RegisterContextSP CreateRegisterContextForFrameIndex(uint32_t idx);
+
+ HostThread m_host_thread;
+};
+}
+
+#endif