summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Windows/ProcessWindows.h
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2014-11-05 22:16:28 +0000
committerZachary Turner <zturner@google.com>2014-11-05 22:16:28 +0000
commit742346a22f591938ea8d0f10a9ae6135649d0057 (patch)
tree981d81eca5886f59a75c88f9008db9c3956b7561 /lldb/source/Plugins/Process/Windows/ProcessWindows.h
parent1839abdabe24a8a5211e21c71769253d5cf69d1d (diff)
downloadbcm5719-llvm-742346a22f591938ea8d0f10a9ae6135649d0057.tar.gz
bcm5719-llvm-742346a22f591938ea8d0f10a9ae6135649d0057.zip
Decouple ProcessWindows from the Windows debug driver thread.
In the llgs world, ProcessWindows will eventually go away and we'll implement a different protocol. This patch decouples ProcessWindows from the core debug loop so that this transition will not be more difficult than it needs to be. llvm-svn: 221405
Diffstat (limited to 'lldb/source/Plugins/Process/Windows/ProcessWindows.h')
-rw-r--r--lldb/source/Plugins/Process/Windows/ProcessWindows.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/Windows/ProcessWindows.h b/lldb/source/Plugins/Process/Windows/ProcessWindows.h
index 31ceddfa3ef..d5607b75e59 100644
--- a/lldb/source/Plugins/Process/Windows/ProcessWindows.h
+++ b/lldb/source/Plugins/Process/Windows/ProcessWindows.h
@@ -17,6 +17,8 @@
#include <queue>
// Other libraries and framework includes
+#include "ForwardDecl.h"
+#include "IDebugDelegate.h"
#include "lldb/Host/HostThread.h"
#include "lldb/Target/Process.h"
@@ -27,8 +29,7 @@ namespace lldb_private
class HostProcess;
}
-class ProcessWindows :
- public lldb_private::Process
+class ProcessWindows : public lldb_private::Process, public lldb_private::IDebugDelegate
{
public:
//------------------------------------------------------------------
@@ -109,6 +110,18 @@ public:
IsAlive ();
virtual size_t DoReadMemory(lldb::addr_t vm_addr, void *buf, size_t size, lldb_private::Error &error);
+
+ // IDebugDelegate overrides.
+ virtual void OnProcessLaunched(const lldb_private::ProcessMessageCreateProcess &message) override;
+ virtual void OnExitProcess(const lldb_private::ProcessMessageExitProcess &message) override;
+ virtual void OnDebuggerConnected(const lldb_private::ProcessMessageDebuggerConnected &message) override;
+ virtual void OnDebugException(const lldb_private::ProcessMessageException &message) override;
+ virtual void OnCreateThread(const lldb_private::ProcessMessageCreateThread &message) override;
+ virtual void OnExitThread(const lldb_private::ProcessMessageExitThread &message) override;
+ virtual void OnLoadDll(const lldb_private::ProcessMessageLoadDll &message) override;
+ virtual void OnUnloadDll(const lldb_private::ProcessMessageUnloadDll &message) override;
+ virtual void OnDebugString(const lldb_private::ProcessMessageDebugString &message) override;
+ virtual void OnDebuggerError(const lldb_private::ProcessMessageDebuggerError &message) override;
};
#endif // liblldb_Plugins_Process_Windows_ProcessWindows_H_
OpenPOWER on IntegriCloud