9#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPLANPYTHONINTERFACE_H
10#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDTHREADPLANPYTHONINTERFACE_H
12#include "lldb/Host/Config.h"
22class ScriptedThreadPlanPythonInterface :
public ScriptedThreadPlanInterface,
23 public ScriptedPythonInterface,
24 public PluginInterface {
26 ScriptedThreadPlanPythonInterface(ScriptInterpreterPythonImpl &interpreter);
28 llvm::Expected<StructuredData::GenericSP>
29 CreatePluginObject(
const llvm::StringRef class_name,
31 const StructuredDataImpl &args_sp)
override;
33 llvm::SmallVector<llvm::StringLiteral> GetAbstractMethods()
const override {
37 llvm::Expected<bool> ExplainsStop(Event *event)
override;
39 llvm::Expected<bool> ShouldStop(Event *event)
override;
41 llvm::Expected<bool> IsStale()
override;
47 static void Initialize();
49 static void Terminate();
51 static llvm::StringRef GetPluginNameStatic() {
52 return "ScriptedThreadPlanPythonInterface";
55 llvm::StringRef GetPluginName()
override {
return GetPluginNameStatic(); }
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
StateType
Process and Thread States.
std::shared_ptr< lldb_private::Stream > StreamSP