9#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPROCESSPYTHONINTERFACE_H
10#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPROCESSPYTHONINTERFACE_H
12#include "lldb/Host/Config.h"
21class ScriptedProcessPythonInterface :
public ScriptedProcessInterface,
22 public ScriptedPythonInterface {
24 ScriptedProcessPythonInterface(ScriptInterpreterPythonImpl &interpreter);
26 llvm::Expected<StructuredData::GenericSP>
27 CreatePluginObject(
const llvm::StringRef class_name,
28 ExecutionContext &exe_ctx,
29 StructuredData::DictionarySP args_sp,
30 StructuredData::Generic *script_obj =
nullptr)
override;
32 llvm::SmallVector<llvm::StringLiteral> GetAbstractMethods()
const override {
33 return llvm::SmallVector<llvm::StringLiteral>(
34 {
"read_memory_at_address",
"is_alive",
"get_scripted_thread_plugin"});
37 StructuredData::DictionarySP GetCapabilities()
override;
39 Status Attach(
const ProcessAttachInfo &attach_info)
override;
45 std::optional<MemoryRegionInfo>
47 Status &
error)
override;
49 StructuredData::DictionarySP GetThreadsInfo()
override;
54 Status &
error)
override;
58 Status &
error)
override;
60 StructuredData::ArraySP GetLoadedImages()
override;
64 bool IsAlive()
override;
66 std::optional<std::string> GetScriptedThreadPluginName()
override;
68 StructuredData::DictionarySP GetMetadata()
override;
static llvm::raw_ostream & error(Stream &strm)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ScriptedThreadInterface > ScriptedThreadInterfaceSP
std::shared_ptr< lldb_private::DataExtractor > DataExtractorSP