9#ifndef liblldb_OperatingSystemPython_h_
10#define liblldb_OperatingSystemPython_h_
12#include "lldb/Host/Config.h"
27 const lldb_private::FileSpec &python_module_path);
29 ~OperatingSystemPython()
override;
32 static lldb_private::OperatingSystem *
35 static void Initialize();
37 static void Terminate();
39 static llvm::StringRef GetPluginNameStatic() {
return "python"; }
41 static llvm::StringRef GetPluginDescriptionStatic();
44 llvm::StringRef
GetPluginName()
override {
return GetPluginNameStatic(); }
48 lldb_private::ThreadList &real_thread_list,
49 lldb_private::ThreadList &new_thread_list)
override;
66 bool IsValid()
const {
67 return m_script_object_sp && m_script_object_sp->IsValid();
71 lldb_private::StructuredData::Dictionary &thread_dict,
72 lldb_private::ThreadList &core_thread_list,
73 lldb_private::ThreadList &old_thread_list,
74 std::vector<bool> &core_used_map,
bool *did_create_ptr);
76 lldb_private::DynamicRegisterInfo *GetDynamicRegisterInfo();
79 std::unique_ptr<lldb_private::DynamicRegisterInfo> m_register_info_up;
80 lldb_private::ScriptInterpreter *m_interpreter =
nullptr;
A plug-in interface definition class for halted OS helpers.
virtual lldb::ThreadSP CreateThread(lldb::tid_t tid, lldb::addr_t context)
virtual lldb::RegisterContextSP CreateRegisterContextForThread(Thread *thread, lldb::addr_t reg_data_addr)=0
virtual bool UpdateThreadList(ThreadList &old_thread_list, ThreadList &real_thread_list, ThreadList &new_thread_list)=0
virtual lldb::StopInfoSP CreateThreadStopReason(Thread *thread)=0
virtual void ThreadWasSelected(Thread *thread)=0
virtual bool DoesPluginReportAllThreads()=0
virtual llvm::StringRef GetPluginName()=0
std::shared_ptr< Generic > GenericSP
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
std::shared_ptr< lldb_private::OperatingSystemInterface > OperatingSystemInterfaceSP
std::shared_ptr< lldb_private::StopInfo > StopInfoSP
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP