159d8dd79SMed Ismail Bennani //===-- ScriptedThreadPythonInterface.h ------------------------*- C++ -*-===// 259d8dd79SMed Ismail Bennani // 359d8dd79SMed Ismail Bennani // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 459d8dd79SMed Ismail Bennani // See https://llvm.org/LICENSE.txt for license information. 559d8dd79SMed Ismail Bennani // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 659d8dd79SMed Ismail Bennani // 759d8dd79SMed Ismail Bennani //===----------------------------------------------------------------------===// 859d8dd79SMed Ismail Bennani 959d8dd79SMed Ismail Bennani #ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_SCRIPTEDTHREADPYTHONINTERFACE_H 1059d8dd79SMed Ismail Bennani #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_SCRIPTEDTHREADPYTHONINTERFACE_H 1159d8dd79SMed Ismail Bennani 1259d8dd79SMed Ismail Bennani #include "lldb/Host/Config.h" 1359d8dd79SMed Ismail Bennani 1459d8dd79SMed Ismail Bennani #if LLDB_ENABLE_PYTHON 1559d8dd79SMed Ismail Bennani 1659d8dd79SMed Ismail Bennani #include "ScriptedPythonInterface.h" 1759d8dd79SMed Ismail Bennani #include "lldb/Interpreter/ScriptedProcessInterface.h" 1859d8dd79SMed Ismail Bennani 1959d8dd79SMed Ismail Bennani namespace lldb_private { 2059d8dd79SMed Ismail Bennani class ScriptedThreadPythonInterface : public ScriptedThreadInterface, 2159d8dd79SMed Ismail Bennani public ScriptedPythonInterface { 2259d8dd79SMed Ismail Bennani public: 2359d8dd79SMed Ismail Bennani ScriptedThreadPythonInterface(ScriptInterpreterPythonImpl &interpreter); 2459d8dd79SMed Ismail Bennani 2559d8dd79SMed Ismail Bennani StructuredData::GenericSP 2659d8dd79SMed Ismail Bennani CreatePluginObject(llvm::StringRef class_name, ExecutionContext &exe_ctx, 2759d8dd79SMed Ismail Bennani StructuredData::DictionarySP args_sp) override; 2859d8dd79SMed Ismail Bennani 2959d8dd79SMed Ismail Bennani lldb::tid_t GetThreadID() override; 3059d8dd79SMed Ismail Bennani 3159d8dd79SMed Ismail Bennani llvm::Optional<std::string> GetName() override; 3259d8dd79SMed Ismail Bennani 3359d8dd79SMed Ismail Bennani lldb::StateType GetState() override; 3459d8dd79SMed Ismail Bennani 3559d8dd79SMed Ismail Bennani llvm::Optional<std::string> GetQueue() override; 3659d8dd79SMed Ismail Bennani 3759d8dd79SMed Ismail Bennani StructuredData::DictionarySP GetStopReason() override; 3859d8dd79SMed Ismail Bennani 3959d8dd79SMed Ismail Bennani StructuredData::ArraySP GetStackFrames() override; 4059d8dd79SMed Ismail Bennani 4159d8dd79SMed Ismail Bennani StructuredData::DictionarySP GetRegisterInfo() override; 4259d8dd79SMed Ismail Bennani 4359d8dd79SMed Ismail Bennani llvm::Optional<std::string> GetRegisterContext() override; 4459d8dd79SMed Ismail Bennani }; 4559d8dd79SMed Ismail Bennani } // namespace lldb_private 4659d8dd79SMed Ismail Bennani 4759d8dd79SMed Ismail Bennani #endif // LLDB_ENABLE_PYTHON 48*c2cc70e4SQiu Chaofan #endif // LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_SCRIPTEDTHREADPYTHONINTERFACE_H 49