blob: 8c479819c535b4502ed81f43efa5f82878c4231d [file] [log] [blame]
Eugene Zelenko4c3f2b92015-10-21 01:03:30 +00001//===-- DynamicLoaderWindowsDYLD.h ------------------------------*- C++ -*-===//
Zachary Turnercfd3b1a2014-12-05 18:45:53 +00002//
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
Eugene Zelenko4c3f2b92015-10-21 01:03:30 +000010#ifndef liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_
11#define liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000012
Eugene Zelenko4c3f2b92015-10-21 01:03:30 +000013// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000017#include "lldb/lldb-forward.h"
18#include "lldb/Target/DynamicLoader.h"
19
20namespace lldb_private
21{
22
Stephane Sezer38a1b7e2015-07-08 18:07:13 +000023class DynamicLoaderWindowsDYLD : public DynamicLoader
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000024{
Eugene Zelenko4c3f2b92015-10-21 01:03:30 +000025public:
26 DynamicLoaderWindowsDYLD(Process *process);
27
28 ~DynamicLoaderWindowsDYLD() override;
29
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000030 static void Initialize();
31 static void Terminate();
32 static ConstString GetPluginNameStatic();
33 static const char *GetPluginDescriptionStatic();
34
35 static DynamicLoader *CreateInstance(Process *process, bool force);
36
Stephane Sezer8fa7afe2015-08-20 22:30:20 +000037 void DidAttach() override;
38 void DidLaunch() override;
39 Error CanLoadImage() override;
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000040 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop) override;
41
David Blaikiebcd891f2015-04-08 17:22:09 +000042 ConstString GetPluginName() override;
43 uint32_t GetPluginVersion() override;
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000044};
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000045
Eugene Zelenko4c3f2b92015-10-21 01:03:30 +000046} // namespace lldb_private
47
48#endif // liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_h_