9#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPLATFORMPYTHONINTERFACE_H
10#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_INTERFACES_SCRIPTEDPLATFORMPYTHONINTERFACE_H
12#include "lldb/Host/Config.h"
20class ScriptedPlatformPythonInterface :
public ScriptedPlatformInterface,
21 public ScriptedPythonInterface,
22 public PluginInterface {
24 ScriptedPlatformPythonInterface(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 {
"list_processes",
"attach_to_process",
"launch_process",
38 StructuredData::DictionarySP ListProcesses()
override;
40 StructuredData::DictionarySP GetProcessInfo(
lldb::pid_t)
override;
48 static void Initialize();
50 static void Terminate();
52 static llvm::StringRef GetPluginNameStatic() {
53 return "ScriptedPlatformPythonInterface";
56 llvm::StringRef GetPluginName()
override {
return GetPluginNameStatic(); }
static Status AttachToProcess(ProcessAttachInfo &attach_info, Target &target)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ProcessAttachInfo > ProcessAttachInfoSP
std::shared_ptr< lldb_private::ProcessLaunchInfo > ProcessLaunchInfoSP