blob: 6d09b2fe228c638ac5370a7779d26fe1bda25241 [file] [log] [blame]
Stephane Sezer38a1b7e2015-07-08 18:07:13 +00001//===-- DynamicLoaderWindowsDYLDh ----------------------------------*- 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
Stephane Sezer38a1b7e2015-07-08 18:07:13 +000010#ifndef liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_H_
11#define liblldb_Plugins_Process_Windows_DynamicLoaderWindowsDYLD_H_
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000012
13#include "lldb/lldb-forward.h"
14#include "lldb/Target/DynamicLoader.h"
15
16namespace lldb_private
17{
18
Stephane Sezer38a1b7e2015-07-08 18:07:13 +000019class DynamicLoaderWindowsDYLD : public DynamicLoader
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000020{
21 public:
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000022 static void Initialize();
23 static void Terminate();
24 static ConstString GetPluginNameStatic();
25 static const char *GetPluginDescriptionStatic();
26
Stephane Sezer8fa7afe2015-08-20 22:30:20 +000027 DynamicLoaderWindowsDYLD(Process *process);
28 virtual ~DynamicLoaderWindowsDYLD();
29
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000030 static DynamicLoader *CreateInstance(Process *process, bool force);
31
Stephane Sezer8fa7afe2015-08-20 22:30:20 +000032 void DidAttach() override;
33 void DidLaunch() override;
34 Error CanLoadImage() override;
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000035 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop) override;
36
David Blaikiebcd891f2015-04-08 17:22:09 +000037 ConstString GetPluginName() override;
38 uint32_t GetPluginVersion() override;
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000039};
Zachary Turnercfd3b1a2014-12-05 18:45:53 +000040}
41
David Blaikiebcd891f2015-04-08 17:22:09 +000042#endif