9#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTOPHOOKPYTHONINTERFACE_H
10#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDSTOPHOOKPYTHONINTERFACE_H
12#include "lldb/Host/Config.h"
20class ScriptedStopHookPythonInterface :
public ScriptedStopHookInterface,
21 public ScriptedPythonInterface,
22 public PluginInterface {
24 ScriptedStopHookPythonInterface(ScriptInterpreterPythonImpl &interpreter);
26 llvm::Expected<StructuredData::GenericSP>
27 CreatePluginObject(llvm::StringRef class_name,
lldb::TargetSP target_sp,
28 const StructuredDataImpl &args_sp)
override;
30 llvm::SmallVector<AbstractMethodRequirement>
31 GetAbstractMethodRequirements()
const override {
32 return llvm::SmallVector<AbstractMethodRequirement>({{
"handle_stop", 2}});
35 llvm::Expected<bool> HandleStop(ExecutionContext &exe_ctx,
38 static void Initialize();
40 static void Terminate();
42 static llvm::StringRef GetPluginNameStatic() {
43 return "ScriptedStopHookPythonInterface";
46 llvm::StringRef GetPluginName()
override {
return GetPluginNameStatic(); }
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Stream > StreamSP
std::shared_ptr< lldb_private::Target > TargetSP